/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-34549b5 [2022-04-08 08:59:28,275 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 08:59:28,276 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 08:59:28,309 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 08:59:28,309 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 08:59:28,312 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 08:59:28,316 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 08:59:28,321 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 08:59:28,323 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 08:59:28,326 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 08:59:28,327 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 08:59:28,328 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 08:59:28,329 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 08:59:28,330 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 08:59:28,331 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 08:59:28,332 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 08:59:28,332 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 08:59:28,333 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 08:59:28,336 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 08:59:28,340 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 08:59:28,342 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 08:59:28,342 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 08:59:28,343 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 08:59:28,344 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 08:59:28,345 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 08:59:28,350 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 08:59:28,350 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 08:59:28,350 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 08:59:28,351 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 08:59:28,351 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 08:59:28,352 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 08:59:28,352 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 08:59:28,354 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 08:59:28,354 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 08:59:28,354 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 08:59:28,355 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 08:59:28,355 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 08:59:28,356 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 08:59:28,356 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 08:59:28,356 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 08:59:28,356 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 08:59:28,357 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 08:59:28,358 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 08:59:28,368 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 08:59:28,368 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 08:59:28,369 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 08:59:28,369 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 08:59:28,369 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 08:59:28,369 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 08:59:28,370 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 08:59:28,370 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 08:59:28,370 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 08:59:28,370 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 08:59:28,370 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 08:59:28,371 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 08:59:28,371 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 08:59:28,371 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 08:59:28,371 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 08:59:28,371 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 08:59:28,371 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 08:59:28,371 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 08:59:28,371 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 08:59:28,371 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 08:59:28,372 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 08:59:28,372 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 08:59:28,372 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-08 08:59:28,565 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 08:59:28,595 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 08:59:28,596 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 08:59:28,597 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 08:59:28,597 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 08:59:28,598 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-08 08:59:28,641 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e31448699/0ab468f761df4f55ade658a378270db3/FLAGef243c0d7 [2022-04-08 08:59:28,995 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 08:59:28,996 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i [2022-04-08 08:59:29,000 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e31448699/0ab468f761df4f55ade658a378270db3/FLAGef243c0d7 [2022-04-08 08:59:29,008 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e31448699/0ab468f761df4f55ade658a378270db3 [2022-04-08 08:59:29,011 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 08:59:29,012 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 08:59:29,013 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 08:59:29,013 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 08:59:29,024 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 08:59:29,025 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,026 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@33e06c19 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29, skipping insertion in model container [2022-04-08 08:59:29,026 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,031 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 08:59:29,041 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 08:59:29,155 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-08 08:59:29,170 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 08:59:29,178 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 08:59:29,185 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-08 08:59:29,191 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 08:59:29,200 INFO L208 MainTranslator]: Completed translation [2022-04-08 08:59:29,200 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29 WrapperNode [2022-04-08 08:59:29,200 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 08:59:29,201 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 08:59:29,201 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 08:59:29,201 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 08:59:29,208 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,208 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,213 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,214 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,222 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,227 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,228 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,230 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 08:59:29,230 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 08:59:29,230 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 08:59:29,230 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 08:59:29,231 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (1/1) ... [2022-04-08 08:59:29,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 08:59:29,255 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:29,265 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-08 08:59:29,281 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-08 08:59:29,313 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 08:59:29,314 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 08:59:29,314 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 08:59:29,314 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 08:59:29,314 INFO L138 BoogieDeclarations]: Found implementation of procedure SelectionSort [2022-04-08 08:59:29,315 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 08:59:29,315 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 08:59:29,315 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 08:59:29,315 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2022-04-08 08:59:29,315 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2022-04-08 08:59:29,315 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 08:59:29,315 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 08:59:29,315 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 08:59:29,316 INFO L130 BoogieDeclarations]: Found specification of procedure SelectionSort [2022-04-08 08:59:29,316 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 08:59:29,317 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 08:59:29,317 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 08:59:29,317 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-08 08:59:29,318 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 08:59:29,318 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 08:59:29,318 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 08:59:29,318 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 08:59:29,370 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 08:59:29,371 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 08:59:29,564 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 08:59:29,569 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 08:59:29,569 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-04-08 08:59:29,570 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 08:59:29 BoogieIcfgContainer [2022-04-08 08:59:29,570 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 08:59:29,571 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 08:59:29,572 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 08:59:29,574 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 08:59:29,574 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 08:59:29" (1/3) ... [2022-04-08 08:59:29,575 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71a715a5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 08:59:29, skipping insertion in model container [2022-04-08 08:59:29,575 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:59:29" (2/3) ... [2022-04-08 08:59:29,575 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71a715a5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 08:59:29, skipping insertion in model container [2022-04-08 08:59:29,575 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 08:59:29" (3/3) ... [2022-04-08 08:59:29,576 INFO L111 eAbstractionObserver]: Analyzing ICFG eureka_05.i [2022-04-08 08:59:29,579 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 08:59:29,579 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 08:59:29,613 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 08:59:29,618 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-08 08:59:29,618 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 08:59:29,630 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-08 08:59:29,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 08:59:29,634 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:29,635 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-08 08:59:29,635 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:29,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:29,638 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 1 times [2022-04-08 08:59:29,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:29,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [890528412] [2022-04-08 08:59:29,650 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:59:29,651 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 2 times [2022-04-08 08:59:29,653 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:29,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [134835760] [2022-04-08 08:59:29,653 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:29,654 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:29,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:29,823 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:29,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:29,849 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-08 08:59:29,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 08:59:29,849 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-08 08:59:29,853 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 08:59:29,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:29,860 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-08 08:59:29,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-08 08:59:29,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 08:59:29,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-08 08:59:29,862 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-08 08:59:29,862 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-08 08:59:29,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 08:59:29,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-08 08:59:29,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret10 := main(); {37#true} is VALID [2022-04-08 08:59:29,863 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-08 08:59:29,863 INFO L290 TraceCheckUtils]: 6: Hoare triple {37#true} assume !true; {38#false} is VALID [2022-04-08 08:59:29,864 INFO L272 TraceCheckUtils]: 7: Hoare triple {38#false} call SelectionSort(); {47#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:29,864 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-08 08:59:29,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-08 08:59:29,864 INFO L290 TraceCheckUtils]: 10: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 08:59:29,865 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-08 08:59:29,865 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#false} ~i~1 := 0; {38#false} is VALID [2022-04-08 08:59:29,866 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-08 08:59:29,866 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-08 08:59:29,866 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-08 08:59:29,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-08 08:59:29,866 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-08 08:59:29,867 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-08 08:59:29,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:29,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [134835760] [2022-04-08 08:59:29,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [134835760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:29,868 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:29,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 08:59:29,872 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:29,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [890528412] [2022-04-08 08:59:29,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [890528412] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:29,873 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:29,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 08:59:29,873 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [659263006] [2022-04-08 08:59:29,874 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:29,879 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-08 08:59:29,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:29,883 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-08 08:59:29,910 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-08 08:59:29,910 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 08:59:29,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:29,932 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 08:59:29,933 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 08:59:29,935 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-08 08:59:30,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:30,257 INFO L93 Difference]: Finished difference Result 77 states and 109 transitions. [2022-04-08 08:59:30,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 08:59:30,258 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-08 08:59:30,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:30,259 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-08 08:59:30,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-08 08:59:30,270 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-08 08:59:30,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-08 08:59:30,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 109 transitions. [2022-04-08 08:59:30,375 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-08 08:59:30,385 INFO L225 Difference]: With dead ends: 77 [2022-04-08 08:59:30,385 INFO L226 Difference]: Without dead ends: 43 [2022-04-08 08:59:30,387 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-08 08:59:30,393 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-08 08:59:30,394 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-08 08:59:30,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-08 08:59:30,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2022-04-08 08:59:30,429 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:30,429 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-08 08:59:30,430 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-08 08:59:30,430 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-08 08:59:30,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:30,438 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-08 08:59:30,438 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 08:59:30,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:30,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:30,439 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-08 08:59:30,439 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-08 08:59:30,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:30,442 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-08 08:59:30,442 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 08:59:30,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:30,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:30,443 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:30,443 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:30,443 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-08 08:59:30,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2022-04-08 08:59:30,448 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 18 [2022-04-08 08:59:30,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:30,448 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2022-04-08 08:59:30,449 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-08 08:59:30,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 33 transitions. [2022-04-08 08:59:30,489 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-08 08:59:30,490 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-08 08:59:30,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 08:59:30,490 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:30,490 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-08 08:59:30,491 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 08:59:30,491 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:30,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:30,492 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 1 times [2022-04-08 08:59:30,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:30,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [960137336] [2022-04-08 08:59:30,494 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:59:30,494 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 2 times [2022-04-08 08:59:30,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:30,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258330230] [2022-04-08 08:59:30,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:30,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:30,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:30,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:30,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:30,549 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-08 08:59:30,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 08:59:30,550 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-08 08:59:30,553 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 08:59:30,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:30,558 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-08 08:59:30,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-08 08:59:30,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 08:59:30,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-08 08:59:30,560 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-08 08:59:30,560 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-08 08:59:30,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 08:59:30,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-08 08:59:30,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {351#true} call #t~ret10 := main(); {351#true} is VALID [2022-04-08 08:59:30,561 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-08 08:59:30,562 INFO L290 TraceCheckUtils]: 6: Hoare triple {356#(<= 4 main_~i~1)} assume !(~i~1 >= 0); {352#false} is VALID [2022-04-08 08:59:30,562 INFO L272 TraceCheckUtils]: 7: Hoare triple {352#false} call SelectionSort(); {362#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:30,562 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-08 08:59:30,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-08 08:59:30,562 INFO L290 TraceCheckUtils]: 10: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 08:59:30,563 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-08 08:59:30,563 INFO L290 TraceCheckUtils]: 12: Hoare triple {352#false} ~i~1 := 0; {352#false} is VALID [2022-04-08 08:59:30,563 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-08 08:59:30,564 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-08 08:59:30,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {352#false} ~cond := #in~cond; {352#false} is VALID [2022-04-08 08:59:30,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {352#false} assume 0 == ~cond; {352#false} is VALID [2022-04-08 08:59:30,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {352#false} assume !false; {352#false} is VALID [2022-04-08 08:59:30,567 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-08 08:59:30,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:30,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258330230] [2022-04-08 08:59:30,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1258330230] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:30,568 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:30,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 08:59:30,568 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:30,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [960137336] [2022-04-08 08:59:30,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [960137336] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:30,569 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:30,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 08:59:30,569 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1594627998] [2022-04-08 08:59:30,569 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:30,569 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-08 08:59:30,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:30,570 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-08 08:59:30,582 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-08 08:59:30,582 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 08:59:30,582 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:30,583 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 08:59:30,583 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 08:59:30,583 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-08 08:59:30,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:30,790 INFO L93 Difference]: Finished difference Result 59 states and 70 transitions. [2022-04-08 08:59:30,790 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 08:59:30,791 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-08 08:59:30,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:30,791 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-08 08:59:30,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-08 08:59:30,797 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-08 08:59:30,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-08 08:59:30,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-08 08:59:30,859 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-08 08:59:30,861 INFO L225 Difference]: With dead ends: 59 [2022-04-08 08:59:30,861 INFO L226 Difference]: Without dead ends: 38 [2022-04-08 08:59:30,861 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-08 08:59:30,864 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-08 08:59:30,864 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-08 08:59:30,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-08 08:59:30,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 30. [2022-04-08 08:59:30,876 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:30,877 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-08 08:59:30,878 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-08 08:59:30,879 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-08 08:59:30,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:30,886 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-08 08:59:30,886 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-08 08:59:30,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:30,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:30,887 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-08 08:59:30,887 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-08 08:59:30,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:30,889 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-08 08:59:30,889 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-08 08:59:30,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:30,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:30,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:30,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:30,890 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-08 08:59:30,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2022-04-08 08:59:30,891 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 18 [2022-04-08 08:59:30,891 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:30,891 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2022-04-08 08:59:30,891 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-08 08:59:30,891 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 34 transitions. [2022-04-08 08:59:30,929 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-08 08:59:30,930 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2022-04-08 08:59:30,932 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-08 08:59:30,932 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:30,934 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-08 08:59:30,935 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 08:59:30,940 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:30,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:30,941 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 1 times [2022-04-08 08:59:30,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:30,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1151282488] [2022-04-08 08:59:30,951 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:30,951 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:30,952 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 2 times [2022-04-08 08:59:30,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:30,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [197460326] [2022-04-08 08:59:30,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:30,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:30,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:31,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,006 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-08 08:59:31,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 08:59:31,007 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-08 08:59:31,009 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:59:31,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,014 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-08 08:59:31,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-08 08:59:31,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 08:59:31,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-08 08:59:31,015 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-08 08:59:31,015 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-08 08:59:31,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 08:59:31,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-08 08:59:31,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {626#true} call #t~ret10 := main(); {626#true} is VALID [2022-04-08 08:59:31,016 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-08 08:59:31,016 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-08 08:59:31,017 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-08 08:59:31,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {632#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {627#false} is VALID [2022-04-08 08:59:31,017 INFO L272 TraceCheckUtils]: 9: Hoare triple {627#false} call SelectionSort(); {638#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:31,017 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-08 08:59:31,017 INFO L290 TraceCheckUtils]: 11: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-08 08:59:31,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 08:59:31,018 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-08 08:59:31,018 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-08 08:59:31,018 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-08 08:59:31,018 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-08 08:59:31,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-08 08:59:31,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-08 08:59:31,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-08 08:59:31,018 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-08 08:59:31,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:31,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [197460326] [2022-04-08 08:59:31,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [197460326] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:31,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1544449143] [2022-04-08 08:59:31,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:59:31,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:31,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:31,020 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-08 08:59:31,023 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-08 08:59:31,080 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 08:59:31,080 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:31,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-08 08:59:31,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,108 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:31,258 INFO L272 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {626#true} is VALID [2022-04-08 08:59:31,259 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-08 08:59:31,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {645#(<= 5 ~n~0)} assume true; {645#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:31,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {645#(<= 5 ~n~0)} {626#true} #95#return; {645#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:31,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {645#(<= 5 ~n~0)} call #t~ret10 := main(); {645#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:31,265 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-08 08:59:31,265 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-08 08:59:31,266 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-08 08:59:31,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {645#(<= 5 ~n~0)} assume !(~i~1 >= 0); {645#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:31,267 INFO L272 TraceCheckUtils]: 9: Hoare triple {645#(<= 5 ~n~0)} call SelectionSort(); {645#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:31,267 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-08 08:59:31,269 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-08 08:59:31,269 INFO L290 TraceCheckUtils]: 12: Hoare triple {627#false} assume true; {627#false} is VALID [2022-04-08 08:59:31,270 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {627#false} {645#(<= 5 ~n~0)} #91#return; {627#false} is VALID [2022-04-08 08:59:31,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-08 08:59:31,270 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-08 08:59:31,270 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-08 08:59:31,270 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-08 08:59:31,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-08 08:59:31,271 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-08 08:59:31,271 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-08 08:59:31,271 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 08:59:31,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1544449143] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:31,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 08:59:31,272 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 8 [2022-04-08 08:59:31,272 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:31,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1151282488] [2022-04-08 08:59:31,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1151282488] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:31,285 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:31,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 08:59:31,285 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [305926379] [2022-04-08 08:59:31,285 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:31,287 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-08 08:59:31,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:31,288 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-08 08:59:31,301 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-08 08:59:31,301 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 08:59:31,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:31,302 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 08:59:31,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-08 08:59:31,302 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-08 08:59:31,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:31,393 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-08 08:59:31,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 08:59:31,394 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-08 08:59:31,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:31,394 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-08 08:59:31,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-08 08:59:31,397 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-08 08:59:31,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-08 08:59:31,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 55 transitions. [2022-04-08 08:59:31,430 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-08 08:59:31,432 INFO L225 Difference]: With dead ends: 49 [2022-04-08 08:59:31,433 INFO L226 Difference]: Without dead ends: 36 [2022-04-08 08:59:31,433 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-08 08:59:31,434 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-08 08:59:31,434 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-08 08:59:31,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-08 08:59:31,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 31. [2022-04-08 08:59:31,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:31,461 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-08 08:59:31,461 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-08 08:59:31,462 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-08 08:59:31,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:31,464 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-08 08:59:31,465 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-08 08:59:31,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:31,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:31,469 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-08 08:59:31,470 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-08 08:59:31,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:31,471 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-08 08:59:31,472 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-08 08:59:31,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:31,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:31,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:31,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:31,473 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-08 08:59:31,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2022-04-08 08:59:31,474 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 20 [2022-04-08 08:59:31,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:31,474 INFO L478 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2022-04-08 08:59:31,475 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-08 08:59:31,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 35 transitions. [2022-04-08 08:59:31,514 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-08 08:59:31,514 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2022-04-08 08:59:31,518 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-08 08:59:31,518 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:31,518 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-08 08:59:31,553 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-08 08:59:31,731 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-08 08:59:31,732 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:31,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:31,732 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 1 times [2022-04-08 08:59:31,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:31,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1742120408] [2022-04-08 08:59:31,736 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:31,737 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:31,737 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 2 times [2022-04-08 08:59:31,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:31,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [715306572] [2022-04-08 08:59:31,737 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:31,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:31,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:31,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,782 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-08 08:59:31,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 08:59:31,782 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 08:59:31,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:59:31,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,794 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-08 08:59:31,794 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-08 08:59:31,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-08 08:59:31,795 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-08 08:59:31,795 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-08 08:59:31,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-08 08:59:31,795 INFO L290 TraceCheckUtils]: 6: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 08:59:31,795 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-08 08:59:31,796 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-08 08:59:31,796 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-08 08:59:31,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 08:59:31,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 08:59:31,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-08 08:59:31,797 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-08 08:59:31,798 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-08 08:59:31,799 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-08 08:59:31,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-08 08:59:31,799 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {948#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:31,800 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-08 08:59:31,800 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-08 08:59:31,800 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-08 08:59:31,800 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-08 08:59:31,800 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-08 08:59:31,800 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-08 08:59:31,800 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 08:59:31,801 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-08 08:59:31,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-08 08:59:31,801 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-08 08:59:31,801 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-08 08:59:31,801 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-08 08:59:31,801 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-08 08:59:31,802 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-08 08:59:31,802 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-08 08:59:31,802 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:31,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [715306572] [2022-04-08 08:59:31,802 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [715306572] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:31,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1694540334] [2022-04-08 08:59:31,803 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:59:31,803 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:31,803 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:31,821 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-08 08:59:31,822 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-08 08:59:31,871 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 08:59:31,872 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:31,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-08 08:59:31,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:31,889 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:31,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-08 08:59:31,948 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-08 08:59:31,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 08:59:31,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 08:59:31,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-08 08:59:31,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-08 08:59:31,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-08 08:59:31,950 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-08 08:59:31,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-08 08:59:31,951 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {933#false} is VALID [2022-04-08 08:59:31,951 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-08 08:59:31,951 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-08 08:59:31,951 INFO L290 TraceCheckUtils]: 12: Hoare triple {933#false} assume !(~i~0 < ~n~0); {933#false} is VALID [2022-04-08 08:59:31,952 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-08 08:59:31,952 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-08 08:59:31,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#false} assume !(~lh~0 < ~n~0); {933#false} is VALID [2022-04-08 08:59:31,952 INFO L290 TraceCheckUtils]: 16: Hoare triple {933#false} assume true; {933#false} is VALID [2022-04-08 08:59:31,952 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {933#false} {933#false} #91#return; {933#false} is VALID [2022-04-08 08:59:31,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-08 08:59:31,953 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-08 08:59:31,953 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-08 08:59:31,953 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-08 08:59:31,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-08 08:59:31,953 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-08 08:59:31,953 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-08 08:59:31,954 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:32,032 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-08 08:59:32,032 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-08 08:59:32,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-08 08:59:32,033 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-08 08:59:32,033 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-08 08:59:32,033 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-08 08:59:32,033 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-08 08:59:32,033 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 08:59:32,033 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-08 08:59:32,033 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-08 08:59:32,033 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-08 08:59:32,033 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-08 08:59:32,034 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-08 08:59:32,034 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-08 08:59:32,034 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {932#true} is VALID [2022-04-08 08:59:32,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {1066#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-08 08:59:32,048 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-08 08:59:32,049 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-08 08:59:32,049 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-08 08:59:32,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-08 08:59:32,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 08:59:32,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 08:59:32,049 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-08 08:59:32,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-08 08:59:32,050 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-08 08:59:32,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1694540334] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:32,050 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:32,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4, 4] total 8 [2022-04-08 08:59:32,050 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:32,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1742120408] [2022-04-08 08:59:32,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1742120408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:32,051 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:32,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 08:59:32,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [411589846] [2022-04-08 08:59:32,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:32,051 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-08 08:59:32,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:32,051 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-08 08:59:32,071 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-08 08:59:32,071 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 08:59:32,071 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:32,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 08:59:32,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-04-08 08:59:32,073 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-08 08:59:32,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:32,339 INFO L93 Difference]: Finished difference Result 60 states and 70 transitions. [2022-04-08 08:59:32,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 08:59:32,339 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-08 08:59:32,339 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:32,340 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-08 08:59:32,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-08 08:59:32,346 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-08 08:59:32,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-08 08:59:32,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-04-08 08:59:32,403 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-08 08:59:32,405 INFO L225 Difference]: With dead ends: 60 [2022-04-08 08:59:32,405 INFO L226 Difference]: Without dead ends: 38 [2022-04-08 08:59:32,406 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-08 08:59:32,408 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-08 08:59:32,408 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-08 08:59:32,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-08 08:59:32,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 33. [2022-04-08 08:59:32,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:32,433 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-08 08:59:32,433 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-08 08:59:32,433 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-08 08:59:32,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:32,435 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-08 08:59:32,435 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 08:59:32,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:32,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:32,436 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-08 08:59:32,436 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-08 08:59:32,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:32,439 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-08 08:59:32,439 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 08:59:32,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:32,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:32,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:32,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:32,441 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-08 08:59:32,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-08 08:59:32,442 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 24 [2022-04-08 08:59:32,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:32,442 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-08 08:59:32,443 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-08 08:59:32,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-08 08:59:32,475 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-08 08:59:32,476 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-08 08:59:32,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-08 08:59:32,476 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:32,476 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-08 08:59:32,495 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-08 08:59:32,684 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-08 08:59:32,684 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:32,685 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:32,685 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 3 times [2022-04-08 08:59:32,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:32,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [27847792] [2022-04-08 08:59:32,687 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:32,687 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:32,687 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 4 times [2022-04-08 08:59:32,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:32,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [89702943] [2022-04-08 08:59:32,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:32,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:32,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:32,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:32,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:32,744 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-08 08:59:32,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:32,745 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:32,747 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:32,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:32,775 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-08 08:59:32,776 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-08 08:59:32,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-08 08:59:32,778 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-08 08:59:32,778 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-08 08:59:32,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-08 08:59:32,779 INFO L290 TraceCheckUtils]: 6: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-08 08:59:32,779 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-08 08:59:32,780 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-08 08:59:32,781 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-08 08:59:32,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:32,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:32,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {1370#(<= 5 ~n~0)} call #t~ret10 := main(); {1370#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:32,782 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-08 08:59:32,782 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-08 08:59:32,782 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-08 08:59:32,783 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-08 08:59:32,786 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-08 08:59:32,797 INFO L290 TraceCheckUtils]: 10: Hoare triple {1370#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1370#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:32,797 INFO L272 TraceCheckUtils]: 11: Hoare triple {1370#(<= 5 ~n~0)} call SelectionSort(); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:32,798 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-08 08:59:32,798 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-08 08:59:32,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-08 08:59:32,799 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-08 08:59:32,799 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-08 08:59:32,799 INFO L290 TraceCheckUtils]: 17: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-08 08:59:32,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-08 08:59:32,800 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-08 08:59:32,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {1366#false} ~i~1 := 0; {1366#false} is VALID [2022-04-08 08:59:32,800 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-08 08:59:32,800 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-08 08:59:32,800 INFO L290 TraceCheckUtils]: 23: Hoare triple {1366#false} ~cond := #in~cond; {1366#false} is VALID [2022-04-08 08:59:32,800 INFO L290 TraceCheckUtils]: 24: Hoare triple {1366#false} assume 0 == ~cond; {1366#false} is VALID [2022-04-08 08:59:32,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-08 08:59:32,801 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-08 08:59:32,801 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:32,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [89702943] [2022-04-08 08:59:32,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [89702943] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:32,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1700447309] [2022-04-08 08:59:32,801 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 08:59:32,801 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:32,801 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:32,802 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-08 08:59:32,803 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-08 08:59:32,841 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 08:59:32,842 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:32,842 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 08:59:32,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:32,855 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:32,901 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-08 08:59:33,460 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-08 08:59:33,460 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-08 08:59:33,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-08 08:59:33,586 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-08 08:59:33,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-08 08:59:33,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-08 08:59:33,586 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-08 08:59:33,586 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-08 08:59:33,586 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-08 08:59:33,587 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-08 08:59:33,587 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-08 08:59:33,589 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-08 08:59:33,589 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-08 08:59:33,590 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-08 08:59:33,590 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-08 08:59:33,591 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-08 08:59:33,591 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-08 08:59:33,592 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-08 08:59:33,592 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-08 08:59:33,593 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-08 08:59:33,593 INFO L290 TraceCheckUtils]: 18: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} assume true; {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:33,593 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-08 08:59:33,594 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-08 08:59:33,595 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-08 08:59:33,595 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-08 08:59:33,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 08:59:33,596 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-08 08:59:33,596 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-08 08:59:33,596 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-08 08:59:33,596 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:33,752 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-08 08:59:34,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-08 08:59:34,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-08 08:59:34,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 08:59:34,306 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-08 08:59:34,307 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-08 08:59:34,311 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-08 08:59:34,312 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-08 08:59:34,312 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-08 08:59:34,313 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-08 08:59:34,314 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-08 08:59:36,321 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-08 08:59:36,322 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-08 08:59:36,325 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-08 08:59:36,325 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-08 08:59:36,327 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-08 08:59:36,328 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-08 08:59:36,328 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-08 08:59:36,329 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-08 08:59:36,329 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-08 08:59:36,329 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-08 08:59:36,329 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-08 08:59:36,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-08 08:59:36,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-08 08:59:36,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-08 08:59:36,329 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-08 08:59:36,330 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-08 08:59:36,330 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-08 08:59:36,330 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1700447309] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:36,330 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-08 08:59:36,330 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [7, 12] total 24 [2022-04-08 08:59:36,330 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:36,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [27847792] [2022-04-08 08:59:36,330 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [27847792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:36,331 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:36,331 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:59:36,331 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1644419731] [2022-04-08 08:59:36,331 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:36,331 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-08 08:59:36,331 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:36,331 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-08 08:59:38,366 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 25 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 08:59:38,366 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:59:38,366 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:38,366 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:59:38,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=476, Unknown=0, NotChecked=0, Total=552 [2022-04-08 08:59:38,367 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-08 08:59:38,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:38,711 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-08 08:59:38,711 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 08:59:38,711 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-08 08:59:38,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:38,712 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-08 08:59:38,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-08 08:59:38,713 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-08 08:59:38,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-08 08:59:38,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2022-04-08 08:59:40,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 62 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 08:59:40,781 INFO L225 Difference]: With dead ends: 58 [2022-04-08 08:59:40,781 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 08:59:40,782 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 33 SyntacticMatches, 4 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=106, Invalid=650, Unknown=0, NotChecked=0, Total=756 [2022-04-08 08:59:40,782 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-08 08:59:40,782 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-08 08:59:40,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 08:59:40,829 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 46. [2022-04-08 08:59:40,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:40,830 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-08 08:59:40,830 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-08 08:59:40,830 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-08 08:59:40,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:40,832 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-08 08:59:40,832 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-08 08:59:40,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:40,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:40,832 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-08 08:59:40,833 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-08 08:59:40,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:40,834 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-08 08:59:40,834 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-08 08:59:40,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:40,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:40,834 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:40,834 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:40,835 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-08 08:59:40,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2022-04-08 08:59:40,836 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 52 transitions. Word has length 26 [2022-04-08 08:59:40,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:40,836 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 52 transitions. [2022-04-08 08:59:40,836 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-08 08:59:40,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 52 transitions. [2022-04-08 08:59:41,713 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-08 08:59:41,713 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-04-08 08:59:41,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 08:59:41,713 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:41,714 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-08 08:59:41,737 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-08 08:59:41,914 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-08 08:59:41,914 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:41,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:41,915 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 1 times [2022-04-08 08:59:41,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:41,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1728558676] [2022-04-08 08:59:41,917 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:41,917 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:41,917 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 2 times [2022-04-08 08:59:41,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:41,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1848265275] [2022-04-08 08:59:41,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:41,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:41,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:41,979 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:41,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:41,993 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-08 08:59:41,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:41,993 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:41,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:42,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:42,028 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-08 08:59:42,028 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-08 08:59:42,028 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-08 08:59:42,029 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-08 08:59:42,029 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-08 08:59:42,029 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-08 08:59:42,030 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-08 08:59:42,030 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-08 08:59:42,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-08 08:59:42,031 INFO L290 TraceCheckUtils]: 9: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-08 08:59:42,031 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 08:59:42,033 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-08 08:59:42,034 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-08 08:59:42,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,035 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,035 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-08 08:59:42,035 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-08 08:59:42,036 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-08 08:59:42,036 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-08 08:59:42,036 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-08 08:59:42,036 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,037 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1901#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:42,037 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-08 08:59:42,038 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-08 08:59:42,038 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-08 08:59:42,040 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-08 08:59:42,040 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-08 08:59:42,041 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-08 08:59:42,041 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-08 08:59:42,041 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-08 08:59:42,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-08 08:59:42,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-08 08:59:42,043 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 08:59:42,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-08 08:59:42,043 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-08 08:59:42,043 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-08 08:59:42,043 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-08 08:59:42,043 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-08 08:59:42,043 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-08 08:59:42,044 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-08 08:59:42,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:42,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1848265275] [2022-04-08 08:59:42,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1848265275] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:42,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [841017666] [2022-04-08 08:59:42,044 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:59:42,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:42,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:42,045 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-08 08:59:42,046 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-08 08:59:42,089 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 08:59:42,089 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:42,090 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 08:59:42,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:42,101 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:42,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-08 08:59:42,223 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-08 08:59:42,223 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,224 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,224 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-08 08:59:42,224 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-08 08:59:42,225 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-08 08:59:42,225 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-08 08:59:42,225 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-08 08:59:42,226 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,226 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:42,226 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-08 08:59:42,227 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-08 08:59:42,227 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-08 08:59:42,227 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-08 08:59:42,228 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-08 08:59:42,228 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-08 08:59:42,228 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-08 08:59:42,229 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-08 08:59:42,229 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-08 08:59:42,230 INFO L290 TraceCheckUtils]: 21: Hoare triple {1884#false} assume true; {1884#false} is VALID [2022-04-08 08:59:42,230 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1884#false} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 08:59:42,230 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-08 08:59:42,230 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-08 08:59:42,230 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-08 08:59:42,230 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-08 08:59:42,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-08 08:59:42,230 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-08 08:59:42,231 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-08 08:59:42,231 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:42,473 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-08 08:59:42,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-08 08:59:42,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-08 08:59:42,474 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-08 08:59:42,474 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-08 08:59:42,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-08 08:59:42,474 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {2012#(< 1 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 08:59:42,474 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-08 08:59:42,475 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-08 08:59:42,475 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-08 08:59:42,476 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-08 08:59:42,476 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-08 08:59:42,476 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-08 08:59:42,476 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-08 08:59:42,477 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-08 08:59:42,477 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-08 08:59:42,477 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-08 08:59:42,477 INFO L272 TraceCheckUtils]: 11: Hoare triple {2012#(< 1 ~n~0)} call SelectionSort(); {1883#true} is VALID [2022-04-08 08:59:42,478 INFO L290 TraceCheckUtils]: 10: Hoare triple {2012#(< 1 ~n~0)} assume !(~i~1 >= 0); {2012#(< 1 ~n~0)} is VALID [2022-04-08 08:59:42,478 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-08 08:59:42,478 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-08 08:59:42,479 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-08 08:59:42,479 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-08 08:59:42,486 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-08 08:59:42,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {2012#(< 1 ~n~0)} call #t~ret10 := main(); {2012#(< 1 ~n~0)} is VALID [2022-04-08 08:59:42,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2012#(< 1 ~n~0)} {1883#true} #95#return; {2012#(< 1 ~n~0)} is VALID [2022-04-08 08:59:42,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {2012#(< 1 ~n~0)} assume true; {2012#(< 1 ~n~0)} is VALID [2022-04-08 08:59:42,488 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-08 08:59:42,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-08 08:59:42,488 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-08 08:59:42,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [841017666] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:42,488 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:42,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 6] total 13 [2022-04-08 08:59:42,489 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:42,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1728558676] [2022-04-08 08:59:42,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1728558676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:42,489 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:42,489 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 08:59:42,489 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [181776122] [2022-04-08 08:59:42,489 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:42,489 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-08 08:59:42,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:42,490 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-08 08:59:42,507 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-08 08:59:42,507 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 08:59:42,508 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:42,509 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 08:59:42,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2022-04-08 08:59:42,509 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-08 08:59:42,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:42,883 INFO L93 Difference]: Finished difference Result 86 states and 100 transitions. [2022-04-08 08:59:42,883 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 08:59:42,883 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-08 08:59:42,884 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:42,884 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-08 08:59:42,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-08 08:59:42,885 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-08 08:59:42,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-08 08:59:42,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 64 transitions. [2022-04-08 08:59:42,936 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-08 08:59:42,937 INFO L225 Difference]: With dead ends: 86 [2022-04-08 08:59:42,937 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 08:59:42,938 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=107, Invalid=273, Unknown=0, NotChecked=0, Total=380 [2022-04-08 08:59:42,938 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-08 08:59:42,938 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-08 08:59:42,939 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 08:59:42,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 56. [2022-04-08 08:59:42,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:42,991 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-08 08:59:42,991 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-08 08:59:42,991 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-08 08:59:42,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:42,993 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-08 08:59:42,993 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-08 08:59:42,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:42,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:42,994 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-08 08:59:42,994 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-08 08:59:42,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:42,995 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-08 08:59:42,995 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-08 08:59:42,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:42,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:42,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:42,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:42,996 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-08 08:59:42,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 65 transitions. [2022-04-08 08:59:42,997 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 65 transitions. Word has length 29 [2022-04-08 08:59:42,997 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:42,997 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 65 transitions. [2022-04-08 08:59:42,997 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-08 08:59:42,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 65 transitions. [2022-04-08 08:59:47,137 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-08 08:59:47,137 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2022-04-08 08:59:47,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 08:59:47,138 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:47,138 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-08 08:59:47,156 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-08 08:59:47,338 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-08 08:59:47,338 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:47,339 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:47,339 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 3 times [2022-04-08 08:59:47,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:47,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [691823123] [2022-04-08 08:59:47,341 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:47,341 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:47,341 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 4 times [2022-04-08 08:59:47,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:47,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [666130075] [2022-04-08 08:59:47,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:47,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:47,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:47,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:47,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:47,393 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-08 08:59:47,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:47,394 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:47,397 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:47,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:47,438 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-08 08:59:47,441 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-08 08:59:47,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,442 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-08 08:59:47,442 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-08 08:59:47,443 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-08 08:59:47,443 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-08 08:59:47,443 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-08 08:59:47,444 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-08 08:59:47,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,444 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-08 08:59:47,444 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-08 08:59:47,445 INFO L290 TraceCheckUtils]: 12: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,445 INFO L290 TraceCheckUtils]: 13: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,445 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-08 08:59:47,446 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-08 08:59:47,447 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-08 08:59:47,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:47,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:47,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {2514#(<= 5 ~n~0)} call #t~ret10 := main(); {2514#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:47,448 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-08 08:59:47,448 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-08 08:59:47,448 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-08 08:59:47,449 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-08 08:59:47,449 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-08 08:59:47,449 INFO L290 TraceCheckUtils]: 10: Hoare triple {2514#(<= 5 ~n~0)} assume !(~i~1 >= 0); {2514#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:47,450 INFO L272 TraceCheckUtils]: 11: Hoare triple {2514#(<= 5 ~n~0)} call SelectionSort(); {2531#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:47,450 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-08 08:59:47,450 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-08 08:59:47,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,451 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-08 08:59:47,451 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-08 08:59:47,451 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-08 08:59:47,452 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-08 08:59:47,452 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-08 08:59:47,452 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-08 08:59:47,452 INFO L290 TraceCheckUtils]: 21: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,453 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-08 08:59:47,453 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-08 08:59:47,453 INFO L290 TraceCheckUtils]: 24: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-08 08:59:47,454 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-08 08:59:47,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-08 08:59:47,454 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-08 08:59:47,454 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-08 08:59:47,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-08 08:59:47,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-08 08:59:47,454 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-08 08:59:47,455 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-08 08:59:47,456 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:47,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [666130075] [2022-04-08 08:59:47,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [666130075] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:47,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1189245423] [2022-04-08 08:59:47,456 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 08:59:47,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:47,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:47,457 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-08 08:59:47,458 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-08 08:59:47,497 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 08:59:47,498 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:47,498 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 08:59:47,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:47,507 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:47,641 INFO L272 TraceCheckUtils]: 0: Hoare triple {2509#true} call ULTIMATE.init(); {2509#true} is VALID [2022-04-08 08:59:47,641 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-08 08:59:47,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {2509#true} assume true; {2509#true} is VALID [2022-04-08 08:59:47,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2509#true} {2509#true} #95#return; {2509#true} is VALID [2022-04-08 08:59:47,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {2509#true} call #t~ret10 := main(); {2509#true} is VALID [2022-04-08 08:59:47,641 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-08 08:59:47,641 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-08 08:59:47,641 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-08 08:59:47,641 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-08 08:59:47,641 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-08 08:59:47,641 INFO L290 TraceCheckUtils]: 10: Hoare triple {2509#true} assume !(~i~1 >= 0); {2509#true} is VALID [2022-04-08 08:59:47,642 INFO L272 TraceCheckUtils]: 11: Hoare triple {2509#true} call SelectionSort(); {2509#true} is VALID [2022-04-08 08:59:47,642 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-08 08:59:47,642 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-08 08:59:47,643 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-08 08:59:47,643 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-08 08:59:47,643 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-08 08:59:47,644 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-08 08:59:47,644 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-08 08:59:47,644 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-08 08:59:47,644 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-08 08:59:47,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {2510#false} assume !(~i~0 < ~n~0); {2510#false} is VALID [2022-04-08 08:59:47,644 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-08 08:59:47,644 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-08 08:59:47,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {2510#false} assume !(~lh~0 < ~n~0); {2510#false} is VALID [2022-04-08 08:59:47,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {2510#false} assume true; {2510#false} is VALID [2022-04-08 08:59:47,645 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2510#false} {2509#true} #91#return; {2510#false} is VALID [2022-04-08 08:59:47,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-08 08:59:47,645 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-08 08:59:47,645 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-08 08:59:47,645 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-08 08:59:47,645 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-08 08:59:47,645 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-08 08:59:47,645 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-08 08:59:47,645 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 08:59:47,645 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1189245423] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:47,645 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 08:59:47,645 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 11 [2022-04-08 08:59:47,646 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:47,646 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [691823123] [2022-04-08 08:59:47,646 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [691823123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:47,646 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:47,646 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 08:59:47,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [899074134] [2022-04-08 08:59:47,646 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:47,646 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-08 08:59:47,646 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:47,647 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-08 08:59:47,668 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-08 08:59:47,669 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 08:59:47,669 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:47,670 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 08:59:47,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=90, Unknown=0, NotChecked=0, Total=110 [2022-04-08 08:59:47,670 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-08 08:59:47,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:47,843 INFO L93 Difference]: Finished difference Result 85 states and 101 transitions. [2022-04-08 08:59:47,843 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 08:59:47,843 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-08 08:59:47,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:47,843 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-08 08:59:47,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-08 08:59:47,844 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-08 08:59:47,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-08 08:59:47,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-04-08 08:59:47,884 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-08 08:59:47,885 INFO L225 Difference]: With dead ends: 85 [2022-04-08 08:59:47,885 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 08:59:47,886 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-08 08:59:47,886 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-08 08:59:47,886 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-08 08:59:47,887 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 08:59:47,937 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-04-08 08:59:47,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:47,937 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-08 08:59:47,938 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-08 08:59:47,938 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-08 08:59:47,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:47,939 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 08:59:47,939 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 08:59:47,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:47,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:47,939 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-08 08:59:47,939 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-08 08:59:47,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:47,940 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 08:59:47,940 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 08:59:47,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:47,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:47,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:47,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:47,941 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-08 08:59:47,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-08 08:59:47,942 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 33 [2022-04-08 08:59:47,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:47,942 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-08 08:59:47,942 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-08 08:59:47,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 51 transitions. [2022-04-08 08:59:48,010 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-08 08:59:48,011 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-08 08:59:48,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 08:59:48,011 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:48,011 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-08 08:59:48,029 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 08:59:48,212 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-08 08:59:48,212 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:48,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:48,212 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 5 times [2022-04-08 08:59:48,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:48,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1054427121] [2022-04-08 08:59:48,214 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:48,214 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:48,214 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 6 times [2022-04-08 08:59:48,214 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:48,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1789259593] [2022-04-08 08:59:48,215 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:48,215 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:48,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:48,265 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:48,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:48,273 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-08 08:59:48,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,274 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,277 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:48,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:48,325 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-08 08:59:48,325 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-08 08:59:48,326 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-08 08:59:48,326 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-08 08:59:48,326 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-08 08:59:48,326 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-08 08:59:48,327 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-08 08:59:48,327 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-08 08:59:48,327 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-08 08:59:48,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,328 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-08 08:59:48,329 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-08 08:59:48,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,330 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 08:59:48,330 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-08 08:59:48,331 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-08 08:59:48,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,332 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,332 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-08 08:59:48,332 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-08 08:59:48,333 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-08 08:59:48,333 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-08 08:59:48,333 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-08 08:59:48,333 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,334 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3020#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:48,334 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-08 08:59:48,334 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-08 08:59:48,335 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-08 08:59:48,335 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-08 08:59:48,335 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-08 08:59:48,336 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-08 08:59:48,336 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-08 08:59:48,336 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-08 08:59:48,337 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-08 08:59:48,337 INFO L290 TraceCheckUtils]: 21: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,338 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-08 08:59:48,338 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-08 08:59:48,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,339 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 08:59:48,339 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-08 08:59:48,339 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-08 08:59:48,339 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-08 08:59:48,339 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-08 08:59:48,339 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-08 08:59:48,339 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-08 08:59:48,339 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-08 08:59:48,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:48,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1789259593] [2022-04-08 08:59:48,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1789259593] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:48,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [429807467] [2022-04-08 08:59:48,340 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 08:59:48,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:48,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:48,341 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-08 08:59:48,342 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-08 08:59:48,388 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 08:59:48,388 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:48,388 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 08:59:48,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:48,401 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:48,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-08 08:59:48,571 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-08 08:59:48,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,573 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-08 08:59:48,573 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-08 08:59:48,573 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-08 08:59:48,574 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-08 08:59:48,574 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-08 08:59:48,574 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,575 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:48,575 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-08 08:59:48,575 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-08 08:59:48,576 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-08 08:59:48,576 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-08 08:59:48,577 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-08 08:59:48,577 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-08 08:59:48,578 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-08 08:59:48,578 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-08 08:59:48,579 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-08 08:59:48,579 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-08 08:59:48,579 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-08 08:59:48,579 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-08 08:59:48,579 INFO L290 TraceCheckUtils]: 24: Hoare triple {2999#false} assume !(~lh~0 < ~n~0); {2999#false} is VALID [2022-04-08 08:59:48,579 INFO L290 TraceCheckUtils]: 25: Hoare triple {2999#false} assume true; {2999#false} is VALID [2022-04-08 08:59:48,579 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2999#false} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 08:59:48,580 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-08 08:59:48,580 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-08 08:59:48,580 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-08 08:59:48,580 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-08 08:59:48,580 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-08 08:59:48,580 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-08 08:59:48,580 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-08 08:59:48,580 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:48,893 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-08 08:59:48,893 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-08 08:59:48,893 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-08 08:59:48,893 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-08 08:59:48,893 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-08 08:59:48,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-08 08:59:48,894 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3145#(< 2 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 08:59:48,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,894 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 08:59:48,895 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-08 08:59:48,895 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-08 08:59:48,895 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-08 08:59:48,896 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-08 08:59:48,896 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-08 08:59:48,897 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-08 08:59:48,897 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-08 08:59:48,898 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-08 08:59:48,898 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-08 08:59:48,898 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-08 08:59:48,899 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-08 08:59:48,899 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-08 08:59:48,899 INFO L272 TraceCheckUtils]: 11: Hoare triple {3145#(< 2 ~n~0)} call SelectionSort(); {2998#true} is VALID [2022-04-08 08:59:48,899 INFO L290 TraceCheckUtils]: 10: Hoare triple {3145#(< 2 ~n~0)} assume !(~i~1 >= 0); {3145#(< 2 ~n~0)} is VALID [2022-04-08 08:59:48,900 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-08 08:59:48,910 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-08 08:59:48,910 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-08 08:59:48,910 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-08 08:59:48,911 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-08 08:59:48,911 INFO L272 TraceCheckUtils]: 4: Hoare triple {3145#(< 2 ~n~0)} call #t~ret10 := main(); {3145#(< 2 ~n~0)} is VALID [2022-04-08 08:59:48,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3145#(< 2 ~n~0)} {2998#true} #95#return; {3145#(< 2 ~n~0)} is VALID [2022-04-08 08:59:48,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {3145#(< 2 ~n~0)} assume true; {3145#(< 2 ~n~0)} is VALID [2022-04-08 08:59:48,915 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-08 08:59:48,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-08 08:59:48,916 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-08 08:59:48,916 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [429807467] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:48,916 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:48,916 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-08 08:59:48,916 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:48,916 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1054427121] [2022-04-08 08:59:48,916 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1054427121] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:48,917 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:48,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:59:48,917 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [789065239] [2022-04-08 08:59:48,917 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:48,917 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-08 08:59:48,918 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:48,918 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-08 08:59:48,954 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-08 08:59:48,954 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 08:59:48,955 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:48,955 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 08:59:48,955 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:59:48,955 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-08 08:59:49,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:49,468 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2022-04-08 08:59:49,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 08:59:49,468 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-08 08:59:49,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:49,469 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-08 08:59:49,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-08 08:59:49,470 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-08 08:59:49,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-08 08:59:49,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-08 08:59:49,536 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-08 08:59:49,537 INFO L225 Difference]: With dead ends: 70 [2022-04-08 08:59:49,537 INFO L226 Difference]: Without dead ends: 54 [2022-04-08 08:59:49,537 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-08 08:59:49,538 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-08 08:59:49,538 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-08 08:59:49,538 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-08 08:59:49,595 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 45. [2022-04-08 08:59:49,595 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:49,596 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-08 08:59:49,596 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-08 08:59:49,596 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-08 08:59:49,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:49,597 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-08 08:59:49,597 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-08 08:59:49,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:49,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:49,597 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-08 08:59:49,598 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-08 08:59:49,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:49,599 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-08 08:59:49,599 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-08 08:59:49,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:49,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:49,599 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:49,599 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:49,599 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-08 08:59:49,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2022-04-08 08:59:49,600 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 33 [2022-04-08 08:59:49,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:49,600 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2022-04-08 08:59:49,600 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-08 08:59:49,600 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 52 transitions. [2022-04-08 08:59:49,662 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-08 08:59:49,662 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-04-08 08:59:49,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 08:59:49,662 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:49,663 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-08 08:59:49,681 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 08:59:49,863 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-08 08:59:49,863 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:49,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:49,864 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 7 times [2022-04-08 08:59:49,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:49,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [746330163] [2022-04-08 08:59:49,868 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:49,868 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:49,868 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 8 times [2022-04-08 08:59:49,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:49,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [172933170] [2022-04-08 08:59:49,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:49,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:49,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:49,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:49,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:49,903 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-08 08:59:49,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:49,904 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:49,906 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:49,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:49,939 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-08 08:59:49,939 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-08 08:59:49,940 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-08 08:59:49,940 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-08 08:59:49,940 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-08 08:59:49,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,941 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-08 08:59:49,941 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-08 08:59:49,941 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-08 08:59:49,941 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-08 08:59:49,942 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-08 08:59:49,942 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-08 08:59:49,942 INFO L290 TraceCheckUtils]: 12: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,942 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-08 08:59:49,943 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-08 08:59:49,943 INFO L290 TraceCheckUtils]: 15: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,943 INFO L290 TraceCheckUtils]: 16: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,944 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-08 08:59:49,944 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-08 08:59:49,945 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-08 08:59:49,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:49,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:49,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {3590#(<= 5 ~n~0)} call #t~ret10 := main(); {3590#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:49,946 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-08 08:59:49,946 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-08 08:59:49,946 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-08 08:59:49,947 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-08 08:59:49,947 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-08 08:59:49,947 INFO L290 TraceCheckUtils]: 10: Hoare triple {3590#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3590#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:49,948 INFO L272 TraceCheckUtils]: 11: Hoare triple {3590#(<= 5 ~n~0)} call SelectionSort(); {3610#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:49,948 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-08 08:59:49,948 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-08 08:59:49,949 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-08 08:59:49,949 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-08 08:59:49,949 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-08 08:59:49,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,950 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-08 08:59:49,950 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-08 08:59:49,950 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-08 08:59:49,950 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-08 08:59:49,951 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-08 08:59:49,951 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-08 08:59:49,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,951 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-08 08:59:49,952 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-08 08:59:49,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,952 INFO L290 TraceCheckUtils]: 28: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-08 08:59:49,952 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-08 08:59:49,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-08 08:59:49,953 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-08 08:59:49,953 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-08 08:59:49,953 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-08 08:59:49,953 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-08 08:59:49,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-08 08:59:49,953 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-08 08:59:49,953 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:49,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [172933170] [2022-04-08 08:59:49,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [172933170] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:49,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [985402926] [2022-04-08 08:59:49,954 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:59:49,954 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:49,954 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:49,955 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-08 08:59:49,956 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-08 08:59:50,002 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 08:59:50,002 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:50,003 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 08:59:50,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:50,013 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:50,111 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-08 08:59:50,111 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-08 08:59:50,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-08 08:59:50,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-08 08:59:50,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-08 08:59:50,112 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-08 08:59:50,112 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-08 08:59:50,113 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-08 08:59:50,113 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-08 08:59:50,113 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-08 08:59:50,114 INFO L290 TraceCheckUtils]: 10: Hoare triple {3647#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-08 08:59:50,114 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3586#false} is VALID [2022-04-08 08:59:50,114 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-08 08:59:50,114 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-08 08:59:50,114 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-08 08:59:50,114 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-08 08:59:50,114 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-08 08:59:50,114 INFO L290 TraceCheckUtils]: 17: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-08 08:59:50,123 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-08 08:59:50,124 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-08 08:59:50,124 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-08 08:59:50,124 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-08 08:59:50,124 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-08 08:59:50,124 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-08 08:59:50,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-08 08:59:50,124 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-08 08:59:50,124 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-08 08:59:50,124 INFO L290 TraceCheckUtils]: 27: Hoare triple {3586#false} assume !(~lh~0 < ~n~0); {3586#false} is VALID [2022-04-08 08:59:50,124 INFO L290 TraceCheckUtils]: 28: Hoare triple {3586#false} assume true; {3586#false} is VALID [2022-04-08 08:59:50,125 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3586#false} {3586#false} #91#return; {3586#false} is VALID [2022-04-08 08:59:50,125 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-08 08:59:50,125 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-08 08:59:50,125 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-08 08:59:50,125 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-08 08:59:50,125 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-08 08:59:50,125 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-08 08:59:50,125 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-08 08:59:50,125 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:50,226 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-08 08:59:50,226 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-08 08:59:50,226 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-08 08:59:50,227 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-08 08:59:50,227 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-08 08:59:50,227 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-08 08:59:50,227 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3585#true} {3586#false} #91#return; {3586#false} is VALID [2022-04-08 08:59:50,227 INFO L290 TraceCheckUtils]: 28: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-08 08:59:50,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {3585#true} assume !(~lh~0 < ~n~0); {3585#true} is VALID [2022-04-08 08:59:50,227 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-08 08:59:50,227 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-08 08:59:50,227 INFO L290 TraceCheckUtils]: 24: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-08 08:59:50,227 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-08 08:59:50,227 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-08 08:59:50,227 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-08 08:59:50,227 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-08 08:59:50,228 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-08 08:59:50,228 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-08 08:59:50,228 INFO L290 TraceCheckUtils]: 17: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-08 08:59:50,228 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-08 08:59:50,228 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-08 08:59:50,228 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-08 08:59:50,228 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-08 08:59:50,228 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-08 08:59:50,228 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3585#true} is VALID [2022-04-08 08:59:50,229 INFO L290 TraceCheckUtils]: 10: Hoare triple {3801#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-08 08:59:50,229 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-08 08:59:50,230 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-08 08:59:50,230 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-08 08:59:50,230 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-08 08:59:50,231 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-08 08:59:50,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-08 08:59:50,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-08 08:59:50,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-08 08:59:50,231 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-08 08:59:50,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-08 08:59:50,231 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-08 08:59:50,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [985402926] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:50,231 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:50,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5, 5] total 14 [2022-04-08 08:59:50,232 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:50,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [746330163] [2022-04-08 08:59:50,232 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [746330163] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:50,232 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:50,232 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:59:50,232 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [255569849] [2022-04-08 08:59:50,232 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:50,232 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-08 08:59:50,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:50,233 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-08 08:59:50,254 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-08 08:59:50,254 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 08:59:50,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:50,255 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 08:59:50,255 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:59:50,255 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-08 08:59:50,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:50,723 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-08 08:59:50,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 08:59:50,723 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-08 08:59:50,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:50,724 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-08 08:59:50,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-08 08:59:50,725 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-08 08:59:50,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-08 08:59:50,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2022-04-08 08:59:50,790 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-08 08:59:50,791 INFO L225 Difference]: With dead ends: 77 [2022-04-08 08:59:50,791 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 08:59:50,791 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-08 08:59:50,792 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 08:59:50,792 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.1s Time] [2022-04-08 08:59:50,792 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 08:59:50,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 48. [2022-04-08 08:59:50,848 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:50,848 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-08 08:59:50,848 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-08 08:59:50,848 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-08 08:59:50,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:50,849 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 08:59:50,849 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 08:59:50,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:50,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:50,850 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-08 08:59:50,850 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-08 08:59:50,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:50,851 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 08:59:50,851 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 08:59:50,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:50,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:50,851 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:50,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:50,851 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-08 08:59:50,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 56 transitions. [2022-04-08 08:59:50,852 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 56 transitions. Word has length 36 [2022-04-08 08:59:50,852 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:50,852 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 56 transitions. [2022-04-08 08:59:50,852 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-08 08:59:50,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 56 transitions. [2022-04-08 08:59:50,924 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-08 08:59:50,924 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-04-08 08:59:50,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 08:59:50,925 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:50,925 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-08 08:59:50,941 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-08 08:59:51,127 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-08 08:59:51,128 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:51,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:51,128 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 9 times [2022-04-08 08:59:51,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:51,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2071810113] [2022-04-08 08:59:51,130 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:51,130 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:51,130 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 10 times [2022-04-08 08:59:51,130 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:51,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1681841868] [2022-04-08 08:59:51,130 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:51,130 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:51,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:51,170 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:51,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:51,176 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-08 08:59:51,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:51,176 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:51,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:51,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:51,232 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-08 08:59:51,233 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-08 08:59:51,233 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-08 08:59:51,233 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-08 08:59:51,234 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-08 08:59:51,234 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-08 08:59:51,234 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-08 08:59:51,235 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-08 08:59:51,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,235 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-08 08:59:51,236 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-08 08:59:51,236 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-08 08:59:51,236 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-08 08:59:51,236 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-08 08:59:51,237 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-08 08:59:51,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,237 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-08 08:59:51,237 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-08 08:59:51,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,239 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-08 08:59:51,240 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-08 08:59:51,240 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-08 08:59:51,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:51,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:51,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {4206#(<= 5 ~n~0)} call #t~ret10 := main(); {4206#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:51,241 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-08 08:59:51,242 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-08 08:59:51,242 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-08 08:59:51,242 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-08 08:59:51,242 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-08 08:59:51,243 INFO L290 TraceCheckUtils]: 10: Hoare triple {4206#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4206#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:51,243 INFO L272 TraceCheckUtils]: 11: Hoare triple {4206#(<= 5 ~n~0)} call SelectionSort(); {4229#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:51,243 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-08 08:59:51,244 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-08 08:59:51,244 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-08 08:59:51,244 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-08 08:59:51,245 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-08 08:59:51,245 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-08 08:59:51,245 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-08 08:59:51,245 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-08 08:59:51,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,246 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-08 08:59:51,246 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-08 08:59:51,247 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-08 08:59:51,247 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-08 08:59:51,247 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-08 08:59:51,247 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-08 08:59:51,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,248 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-08 08:59:51,248 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-08 08:59:51,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-08 08:59:51,249 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-08 08:59:51,249 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-08 08:59:51,249 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-08 08:59:51,249 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-08 08:59:51,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-08 08:59:51,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-08 08:59:51,249 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-08 08:59:51,250 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-08 08:59:51,250 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:51,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1681841868] [2022-04-08 08:59:51,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1681841868] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:51,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [287278068] [2022-04-08 08:59:51,250 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 08:59:51,250 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:51,250 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:51,251 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-08 08:59:51,257 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-08 08:59:51,335 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 08:59:51,335 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:51,336 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 08:59:51,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:51,347 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:51,530 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-08 08:59:51,530 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-08 08:59:51,530 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-08 08:59:51,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-08 08:59:51,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-08 08:59:51,531 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-08 08:59:51,531 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-08 08:59:51,531 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-08 08:59:51,531 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-08 08:59:51,531 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-08 08:59:51,531 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-08 08:59:51,531 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-08 08:59:51,531 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-08 08:59:51,532 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-08 08:59:51,532 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-08 08:59:51,532 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-08 08:59:51,533 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-08 08:59:51,533 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-08 08:59:51,534 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-08 08:59:51,534 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-08 08:59:51,534 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-08 08:59:51,534 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-08 08:59:51,535 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-08 08:59:51,535 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-08 08:59:51,535 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-08 08:59:51,536 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-08 08:59:51,536 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-08 08:59:51,536 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-08 08:59:51,537 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-08 08:59:51,537 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-08 08:59:51,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-08 08:59:51,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-08 08:59:51,537 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-08 08:59:51,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-08 08:59:51,538 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-08 08:59:51,538 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-08 08:59:51,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-08 08:59:51,538 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-08 08:59:51,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-08 08:59:51,538 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-08 08:59:51,538 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:51,691 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-08 08:59:51,691 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-08 08:59:51,691 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-08 08:59:51,691 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-08 08:59:51,691 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-08 08:59:51,691 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-08 08:59:51,692 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-08 08:59:51,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-08 08:59:51,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-08 08:59:51,692 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-08 08:59:51,693 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-08 08:59:51,693 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-08 08:59:51,693 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-08 08:59:51,694 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-08 08:59:51,694 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-08 08:59:51,694 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-08 08:59:51,695 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-08 08:59:51,695 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-08 08:59:51,695 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-08 08:59:51,695 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-08 08:59:51,696 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-08 08:59:51,696 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-08 08:59:51,697 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-08 08:59:51,697 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-08 08:59:51,703 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-08 08:59:51,703 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-08 08:59:51,704 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-08 08:59:51,704 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-08 08:59:51,704 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-08 08:59:51,704 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-08 08:59:51,704 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-08 08:59:51,704 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-08 08:59:51,704 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-08 08:59:51,704 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-08 08:59:51,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-08 08:59:51,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-08 08:59:51,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-08 08:59:51,704 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-08 08:59:51,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-08 08:59:51,705 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-08 08:59:51,705 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [287278068] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:51,705 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:51,705 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 15 [2022-04-08 08:59:51,705 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:51,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2071810113] [2022-04-08 08:59:51,705 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2071810113] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:51,705 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:51,705 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 08:59:51,705 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1424420416] [2022-04-08 08:59:51,706 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:51,706 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-08 08:59:51,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:51,706 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-08 08:59:51,731 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-08 08:59:51,732 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:59:51,732 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:51,732 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:59:51,732 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=176, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:59:51,732 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-08 08:59:52,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:52,268 INFO L93 Difference]: Finished difference Result 80 states and 95 transitions. [2022-04-08 08:59:52,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 08:59:52,269 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-08 08:59:52,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:52,269 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-08 08:59:52,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-08 08:59:52,270 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-08 08:59:52,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-08 08:59:52,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 77 transitions. [2022-04-08 08:59:52,340 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-08 08:59:52,340 INFO L225 Difference]: With dead ends: 80 [2022-04-08 08:59:52,340 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 08:59:52,341 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-08 08:59:52,341 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-08 08:59:52,342 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-08 08:59:52,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 08:59:52,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2022-04-08 08:59:52,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:52,417 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-08 08:59:52,418 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-08 08:59:52,418 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-08 08:59:52,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:52,419 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-08 08:59:52,419 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-08 08:59:52,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:52,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:52,419 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-08 08:59:52,419 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-08 08:59:52,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:52,420 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-08 08:59:52,420 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-08 08:59:52,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:52,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:52,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:52,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:52,420 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-08 08:59:52,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 60 transitions. [2022-04-08 08:59:52,422 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 60 transitions. Word has length 39 [2022-04-08 08:59:52,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:52,422 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 60 transitions. [2022-04-08 08:59:52,422 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-08 08:59:52,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 60 transitions. [2022-04-08 08:59:52,497 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-08 08:59:52,497 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 60 transitions. [2022-04-08 08:59:52,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 08:59:52,498 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:52,498 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-08 08:59:52,514 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-08 08:59:52,698 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-08 08:59:52,698 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:52,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:52,699 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 11 times [2022-04-08 08:59:52,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:52,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [102512926] [2022-04-08 08:59:52,701 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:52,701 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:52,701 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 12 times [2022-04-08 08:59:52,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:52,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [542626750] [2022-04-08 08:59:52,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:52,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:52,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:52,745 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:52,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:52,750 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-08 08:59:52,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:52,751 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:52,753 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:52,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:52,823 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-08 08:59:52,823 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-08 08:59:52,824 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-08 08:59:52,824 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-08 08:59:52,824 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-08 08:59:52,824 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-08 08:59:52,825 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-08 08:59:52,825 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-08 08:59:52,825 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-08 08:59:52,826 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-08 08:59:52,826 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-08 08:59:52,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,826 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-08 08:59:52,827 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-08 08:59:52,827 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-08 08:59:52,827 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-08 08:59:52,827 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-08 08:59:52,828 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-08 08:59:52,828 INFO L290 TraceCheckUtils]: 18: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,829 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-08 08:59:52,829 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-08 08:59:52,829 INFO L290 TraceCheckUtils]: 21: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,829 INFO L290 TraceCheckUtils]: 22: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,830 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 08:59:52,831 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-08 08:59:52,831 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-08 08:59:52,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:52,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:52,832 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:52,833 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-08 08:59:52,833 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-08 08:59:52,833 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-08 08:59:52,833 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-08 08:59:52,833 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-08 08:59:52,834 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:52,834 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4890#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:52,834 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-08 08:59:52,835 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-08 08:59:52,835 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-08 08:59:52,835 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-08 08:59:52,836 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-08 08:59:52,836 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-08 08:59:52,836 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-08 08:59:52,836 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-08 08:59:52,837 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-08 08:59:52,837 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-08 08:59:52,837 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-08 08:59:52,838 INFO L290 TraceCheckUtils]: 23: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,838 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-08 08:59:52,838 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-08 08:59:52,838 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-08 08:59:52,839 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-08 08:59:52,839 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-08 08:59:52,839 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-08 08:59:52,839 INFO L290 TraceCheckUtils]: 30: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,840 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-08 08:59:52,840 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-08 08:59:52,840 INFO L290 TraceCheckUtils]: 33: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,840 INFO L290 TraceCheckUtils]: 34: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-08 08:59:52,841 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 08:59:52,841 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-08 08:59:52,841 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-08 08:59:52,841 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-08 08:59:52,841 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-08 08:59:52,841 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-08 08:59:52,841 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-08 08:59:52,841 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-08 08:59:52,841 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:52,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [542626750] [2022-04-08 08:59:52,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [542626750] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:52,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1272823600] [2022-04-08 08:59:52,842 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 08:59:52,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:52,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:52,843 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-08 08:59:52,844 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-08 08:59:52,919 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 08:59:52,920 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:52,920 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 08:59:52,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:52,933 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:53,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-08 08:59:53,176 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-08 08:59:53,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:53,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:53,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:53,177 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-08 08:59:53,177 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-08 08:59:53,177 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-08 08:59:53,178 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-08 08:59:53,178 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-08 08:59:53,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:53,178 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:53,179 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-08 08:59:53,179 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-08 08:59:53,179 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-08 08:59:53,180 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-08 08:59:53,180 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-08 08:59:53,181 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-08 08:59:53,181 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-08 08:59:53,181 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-08 08:59:53,182 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-08 08:59:53,182 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-08 08:59:53,182 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-08 08:59:53,183 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-08 08:59:53,183 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-08 08:59:53,183 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-08 08:59:53,184 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-08 08:59:53,184 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-08 08:59:53,185 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-08 08:59:53,185 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-08 08:59:53,185 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-08 08:59:53,186 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-08 08:59:53,186 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-08 08:59:53,186 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-08 08:59:53,187 INFO L290 TraceCheckUtils]: 34: Hoare triple {4860#false} assume true; {4860#false} is VALID [2022-04-08 08:59:53,187 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4860#false} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 08:59:53,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-08 08:59:53,187 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-08 08:59:53,187 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-08 08:59:53,187 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-08 08:59:53,187 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-08 08:59:53,187 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-08 08:59:53,187 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-08 08:59:53,187 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:53,567 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-08 08:59:53,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-08 08:59:53,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-08 08:59:53,567 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-08 08:59:53,568 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-08 08:59:53,568 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-08 08:59:53,568 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5048#(not (< 2 ~n~0))} {5044#(< 2 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 08:59:53,568 INFO L290 TraceCheckUtils]: 34: Hoare triple {5048#(not (< 2 ~n~0))} assume true; {5048#(not (< 2 ~n~0))} is VALID [2022-04-08 08:59:53,569 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-08 08:59:53,569 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-08 08:59:53,569 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-08 08:59:53,570 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-08 08:59:53,570 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-08 08:59:53,570 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-08 08:59:53,570 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-08 08:59:53,571 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-08 08:59:53,571 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-08 08:59:53,572 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-08 08:59:53,572 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-08 08:59:53,572 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-08 08:59:53,572 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-08 08:59:53,573 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-08 08:59:53,573 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-08 08:59:53,573 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-08 08:59:53,574 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-08 08:59:53,574 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-08 08:59:53,574 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-08 08:59:53,574 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-08 08:59:53,575 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-08 08:59:53,575 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-08 08:59:53,575 INFO L272 TraceCheckUtils]: 11: Hoare triple {5044#(< 2 ~n~0)} call SelectionSort(); {4859#true} is VALID [2022-04-08 08:59:53,575 INFO L290 TraceCheckUtils]: 10: Hoare triple {5044#(< 2 ~n~0)} assume !(~i~1 >= 0); {5044#(< 2 ~n~0)} is VALID [2022-04-08 08:59:53,576 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-08 08:59:53,576 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-08 08:59:53,576 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-08 08:59:53,577 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-08 08:59:53,577 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-08 08:59:53,577 INFO L272 TraceCheckUtils]: 4: Hoare triple {5044#(< 2 ~n~0)} call #t~ret10 := main(); {5044#(< 2 ~n~0)} is VALID [2022-04-08 08:59:53,577 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5044#(< 2 ~n~0)} {4859#true} #95#return; {5044#(< 2 ~n~0)} is VALID [2022-04-08 08:59:53,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {5044#(< 2 ~n~0)} assume true; {5044#(< 2 ~n~0)} is VALID [2022-04-08 08:59:53,578 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-08 08:59:53,578 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-08 08:59:53,579 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-08 08:59:53,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1272823600] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:53,579 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:53,579 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6, 7] total 19 [2022-04-08 08:59:53,579 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:53,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [102512926] [2022-04-08 08:59:53,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [102512926] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:53,579 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:53,579 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:59:53,579 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [551854788] [2022-04-08 08:59:53,580 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:53,580 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-08 08:59:53,580 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:53,580 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-08 08:59:53,610 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-08 08:59:53,610 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:59:53,610 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:53,611 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:59:53,611 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2022-04-08 08:59:53,611 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-08 08:59:54,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:54,182 INFO L93 Difference]: Finished difference Result 83 states and 99 transitions. [2022-04-08 08:59:54,183 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:59:54,183 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-08 08:59:54,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:54,183 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-08 08:59:54,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-08 08:59:54,184 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-08 08:59:54,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-08 08:59:54,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2022-04-08 08:59:54,248 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-08 08:59:54,249 INFO L225 Difference]: With dead ends: 83 [2022-04-08 08:59:54,249 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 08:59:54,249 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=217, Invalid=595, Unknown=0, NotChecked=0, Total=812 [2022-04-08 08:59:54,250 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-08 08:59:54,250 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-08 08:59:54,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 08:59:54,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-04-08 08:59:54,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:54,317 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-08 08:59:54,317 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-08 08:59:54,317 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-08 08:59:54,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:54,318 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-08 08:59:54,318 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-08 08:59:54,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:54,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:54,318 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-08 08:59:54,319 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-08 08:59:54,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:54,319 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-08 08:59:54,319 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-08 08:59:54,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:54,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:54,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:54,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:54,320 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-08 08:59:54,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-08 08:59:54,320 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 42 [2022-04-08 08:59:54,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:54,321 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-08 08:59:54,321 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-08 08:59:54,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 64 transitions. [2022-04-08 08:59:54,402 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-08 08:59:54,402 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-08 08:59:54,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 08:59:54,403 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:54,403 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-08 08:59:54,421 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-08 08:59:54,607 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-08 08:59:54,608 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:54,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:54,608 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 13 times [2022-04-08 08:59:54,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:54,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [984522593] [2022-04-08 08:59:54,610 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:54,610 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:54,610 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 14 times [2022-04-08 08:59:54,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:54,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [438377430] [2022-04-08 08:59:54,610 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:54,610 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:54,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:54,643 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:54,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:54,649 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-08 08:59:54,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:54,650 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:54,653 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:54,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:54,694 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-08 08:59:54,695 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-08 08:59:54,695 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-08 08:59:54,695 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-08 08:59:54,696 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-08 08:59:54,696 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-08 08:59:54,696 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-08 08:59:54,696 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-08 08:59:54,696 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-08 08:59:54,697 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-08 08:59:54,697 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-08 08:59:54,697 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-08 08:59:54,697 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-08 08:59:54,698 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-08 08:59:54,698 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-08 08:59:54,698 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-08 08:59:54,699 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-08 08:59:54,699 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-08 08:59:54,699 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-08 08:59:54,700 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-08 08:59:54,700 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-08 08:59:54,700 INFO L290 TraceCheckUtils]: 21: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-08 08:59:54,700 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-08 08:59:54,701 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-08 08:59:54,701 INFO L290 TraceCheckUtils]: 24: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-08 08:59:54,701 INFO L290 TraceCheckUtils]: 25: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-08 08:59:54,702 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-08 08:59:54,702 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-08 08:59:54,703 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-08 08:59:54,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:54,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:54,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#(<= 5 ~n~0)} call #t~ret10 := main(); {5567#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:54,704 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-08 08:59:54,704 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-08 08:59:54,704 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-08 08:59:54,705 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-08 08:59:54,705 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-08 08:59:54,705 INFO L290 TraceCheckUtils]: 10: Hoare triple {5567#(<= 5 ~n~0)} assume !(~i~1 >= 0); {5567#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:54,705 INFO L272 TraceCheckUtils]: 11: Hoare triple {5567#(<= 5 ~n~0)} call SelectionSort(); {5596#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:54,706 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-08 08:59:54,706 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-08 08:59:54,706 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-08 08:59:54,706 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-08 08:59:54,707 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-08 08:59:54,707 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-08 08:59:54,707 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-08 08:59:54,707 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-08 08:59:54,708 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-08 08:59:54,708 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-08 08:59:54,708 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-08 08:59:54,708 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-08 08:59:54,709 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-08 08:59:54,709 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-08 08:59:54,709 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-08 08:59:54,709 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-08 08:59:54,710 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-08 08:59:54,710 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-08 08:59:54,710 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-08 08:59:54,711 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-08 08:59:54,711 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-08 08:59:54,711 INFO L290 TraceCheckUtils]: 33: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-08 08:59:54,711 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-08 08:59:54,712 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-08 08:59:54,712 INFO L290 TraceCheckUtils]: 36: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-08 08:59:54,712 INFO L290 TraceCheckUtils]: 37: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-08 08:59:54,713 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-08 08:59:54,713 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-08 08:59:54,713 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-08 08:59:54,713 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-08 08:59:54,713 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-08 08:59:54,713 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-08 08:59:54,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-08 08:59:54,713 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-08 08:59:54,713 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:54,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [438377430] [2022-04-08 08:59:54,714 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [438377430] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:54,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1693948085] [2022-04-08 08:59:54,714 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:59:54,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:54,714 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:54,715 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-08 08:59:54,716 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-08 08:59:54,772 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 08:59:54,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:54,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 08:59:54,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:54,783 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:54,889 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-08 08:59:54,889 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-08 08:59:54,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-08 08:59:54,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-08 08:59:54,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-08 08:59:54,900 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-08 08:59:54,900 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-08 08:59:54,900 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-08 08:59:54,901 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-08 08:59:54,901 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-08 08:59:54,901 INFO L290 TraceCheckUtils]: 10: Hoare triple {5634#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-08 08:59:54,902 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5563#false} is VALID [2022-04-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,902 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-08 08:59:54,903 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-08 08:59:54,903 INFO L290 TraceCheckUtils]: 26: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-08 08:59:54,903 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-08 08:59:54,903 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-08 08:59:54,903 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-08 08:59:54,903 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-08 08:59:54,903 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-08 08:59:54,903 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-08 08:59:54,903 INFO L290 TraceCheckUtils]: 33: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-08 08:59:54,903 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-08 08:59:54,903 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-08 08:59:54,903 INFO L290 TraceCheckUtils]: 36: Hoare triple {5563#false} assume !(~lh~0 < ~n~0); {5563#false} is VALID [2022-04-08 08:59:54,903 INFO L290 TraceCheckUtils]: 37: Hoare triple {5563#false} assume true; {5563#false} is VALID [2022-04-08 08:59:54,903 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5563#false} {5563#false} #91#return; {5563#false} is VALID [2022-04-08 08:59:54,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-08 08:59:54,904 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-08 08:59:54,904 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-08 08:59:54,904 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-08 08:59:54,904 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-08 08:59:54,904 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-08 08:59:54,904 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-08 08:59:54,904 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:55,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-08 08:59:55,010 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-08 08:59:55,010 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-08 08:59:55,011 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-08 08:59:55,011 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-08 08:59:55,011 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-08 08:59:55,011 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5562#true} {5563#false} #91#return; {5563#false} is VALID [2022-04-08 08:59:55,011 INFO L290 TraceCheckUtils]: 37: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-08 08:59:55,011 INFO L290 TraceCheckUtils]: 36: Hoare triple {5562#true} assume !(~lh~0 < ~n~0); {5562#true} is VALID [2022-04-08 08:59:55,011 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-08 08:59:55,011 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-08 08:59:55,011 INFO L290 TraceCheckUtils]: 33: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-08 08:59:55,011 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-08 08:59:55,011 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-08 08:59:55,011 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-08 08:59:55,011 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,012 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-08 08:59:55,013 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-08 08:59:55,013 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-08 08:59:55,013 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-08 08:59:55,013 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5562#true} is VALID [2022-04-08 08:59:55,013 INFO L290 TraceCheckUtils]: 10: Hoare triple {5842#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-08 08:59:55,013 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-08 08:59:55,014 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-08 08:59:55,017 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-08 08:59:55,017 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-08 08:59:55,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-08 08:59:55,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-08 08:59:55,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-08 08:59:55,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-08 08:59:55,018 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-08 08:59:55,018 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-08 08:59:55,018 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-08 08:59:55,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1693948085] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:55,018 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:55,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-08 08:59:55,019 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:55,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [984522593] [2022-04-08 08:59:55,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [984522593] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:55,019 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:55,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 08:59:55,019 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [115567379] [2022-04-08 08:59:55,019 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:55,019 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-08 08:59:55,020 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:55,020 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-08 08:59:55,040 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-08 08:59:55,040 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:59:55,040 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:55,040 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:59:55,040 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:59:55,040 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-08 08:59:55,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:55,599 INFO L93 Difference]: Finished difference Result 87 states and 106 transitions. [2022-04-08 08:59:55,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 08:59:55,599 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-08 08:59:55,600 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:55,600 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-08 08:59:55,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-08 08:59:55,601 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-08 08:59:55,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-08 08:59:55,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 89 transitions. [2022-04-08 08:59:55,680 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-08 08:59:55,681 INFO L225 Difference]: With dead ends: 87 [2022-04-08 08:59:55,681 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 08:59:55,682 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 86 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=139, Invalid=511, Unknown=0, NotChecked=0, Total=650 [2022-04-08 08:59:55,682 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-08 08:59:55,682 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-08 08:59:55,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 08:59:55,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-04-08 08:59:55,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:55,758 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-08 08:59:55,758 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-08 08:59:55,758 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-08 08:59:55,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:55,759 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 08:59:55,759 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 08:59:55,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:55,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:55,760 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-08 08:59:55,760 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-08 08:59:55,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:55,761 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 08:59:55,761 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 08:59:55,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:55,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:55,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:55,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:55,761 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-08 08:59:55,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 68 transitions. [2022-04-08 08:59:55,762 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 68 transitions. Word has length 45 [2022-04-08 08:59:55,762 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:55,762 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 68 transitions. [2022-04-08 08:59:55,762 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-08 08:59:55,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 68 transitions. [2022-04-08 08:59:55,863 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-08 08:59:55,863 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 68 transitions. [2022-04-08 08:59:55,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 08:59:55,864 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:55,864 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-08 08:59:55,884 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 08:59:56,079 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-08 08:59:56,079 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:56,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:56,080 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 15 times [2022-04-08 08:59:56,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:56,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1785453489] [2022-04-08 08:59:56,082 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:56,082 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:56,082 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 16 times [2022-04-08 08:59:56,082 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:56,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [957523742] [2022-04-08 08:59:56,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:56,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:56,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:56,113 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:56,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:56,119 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-08 08:59:56,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:56,121 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:56,123 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:56,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:56,176 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-08 08:59:56,177 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-08 08:59:56,177 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-08 08:59:56,177 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-08 08:59:56,178 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-08 08:59:56,178 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-08 08:59:56,178 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-08 08:59:56,179 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-08 08:59:56,179 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-08 08:59:56,179 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-08 08:59:56,180 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-08 08:59:56,180 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-08 08:59:56,180 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-08 08:59:56,180 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-08 08:59:56,181 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-08 08:59:56,181 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-08 08:59:56,181 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-08 08:59:56,182 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-08 08:59:56,182 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-08 08:59:56,182 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-08 08:59:56,183 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-08 08:59:56,183 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-08 08:59:56,183 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-08 08:59:56,184 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-08 08:59:56,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-08 08:59:56,184 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-08 08:59:56,185 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-08 08:59:56,185 INFO L290 TraceCheckUtils]: 27: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-08 08:59:56,185 INFO L290 TraceCheckUtils]: 28: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-08 08:59:56,186 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-08 08:59:56,186 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-08 08:59:56,187 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-08 08:59:56,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:56,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:56,196 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#(<= 5 ~n~0)} call #t~ret10 := main(); {6319#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:56,196 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-08 08:59:56,196 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-08 08:59:56,197 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-08 08:59:56,197 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-08 08:59:56,197 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-08 08:59:56,198 INFO L290 TraceCheckUtils]: 10: Hoare triple {6319#(<= 5 ~n~0)} assume !(~i~1 >= 0); {6319#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:56,198 INFO L272 TraceCheckUtils]: 11: Hoare triple {6319#(<= 5 ~n~0)} call SelectionSort(); {6351#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:56,199 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-08 08:59:56,199 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-08 08:59:56,199 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-08 08:59:56,200 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-08 08:59:56,200 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-08 08:59:56,200 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-08 08:59:56,201 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-08 08:59:56,201 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-08 08:59:56,201 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-08 08:59:56,202 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-08 08:59:56,202 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-08 08:59:56,202 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-08 08:59:56,203 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-08 08:59:56,203 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-08 08:59:56,203 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-08 08:59:56,204 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-08 08:59:56,204 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-08 08:59:56,204 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-08 08:59:56,205 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-08 08:59:56,205 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-08 08:59:56,206 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-08 08:59:56,206 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-08 08:59:56,206 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-08 08:59:56,207 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-08 08:59:56,207 INFO L290 TraceCheckUtils]: 36: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-08 08:59:56,208 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-08 08:59:56,208 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-08 08:59:56,208 INFO L290 TraceCheckUtils]: 39: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-08 08:59:56,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-08 08:59:56,209 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-08 08:59:56,209 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-08 08:59:56,209 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-08 08:59:56,209 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-08 08:59:56,209 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-08 08:59:56,209 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-08 08:59:56,209 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-08 08:59:56,210 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-08 08:59:56,210 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:56,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [957523742] [2022-04-08 08:59:56,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [957523742] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:56,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2002885566] [2022-04-08 08:59:56,210 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 08:59:56,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:56,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:56,211 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-08 08:59:56,212 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-08 08:59:56,265 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 08:59:56,265 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:56,266 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 08:59:56,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:56,277 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:56,522 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-08 08:59:56,522 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-08 08:59:56,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-08 08:59:56,523 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-08 08:59:56,523 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-08 08:59:56,523 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-08 08:59:56,523 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-08 08:59:56,523 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-08 08:59:56,523 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-08 08:59:56,523 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-08 08:59:56,523 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-08 08:59:56,523 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-08 08:59:56,523 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-08 08:59:56,524 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-08 08:59:56,527 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-08 08:59:56,527 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-08 08:59:56,528 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-08 08:59:56,528 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-08 08:59:56,529 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-08 08:59:56,529 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-08 08:59:56,529 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-08 08:59:56,530 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-08 08:59:56,530 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-08 08:59:56,531 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-08 08:59:56,531 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-08 08:59:56,531 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-08 08:59:56,532 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-08 08:59:56,532 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-08 08:59:56,533 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-08 08:59:56,533 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-08 08:59:56,533 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-08 08:59:56,534 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-08 08:59:56,534 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-08 08:59:56,535 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-08 08:59:56,535 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-08 08:59:56,535 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-08 08:59:56,536 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-08 08:59:56,536 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-08 08:59:56,536 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-08 08:59:56,536 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-08 08:59:56,536 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-08 08:59:56,536 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-08 08:59:56,536 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-08 08:59:56,536 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-08 08:59:56,536 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-08 08:59:56,536 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-08 08:59:56,536 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-08 08:59:56,537 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-08 08:59:56,537 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-08 08:59:56,537 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:56,740 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-08 08:59:56,741 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-08 08:59:56,741 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-08 08:59:56,741 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-08 08:59:56,741 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-08 08:59:56,741 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-08 08:59:56,741 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-08 08:59:56,741 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-08 08:59:56,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-08 08:59:56,741 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-08 08:59:56,741 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-08 08:59:56,742 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-08 08:59:56,742 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-08 08:59:56,742 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-08 08:59:56,743 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-08 08:59:56,743 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-08 08:59:56,744 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-08 08:59:56,744 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-08 08:59:56,744 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-08 08:59:56,745 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-08 08:59:56,745 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-08 08:59:56,746 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-08 08:59:56,746 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-08 08:59:56,746 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-08 08:59:56,747 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-08 08:59:56,748 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-08 08:59:56,748 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-08 08:59:56,748 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-08 08:59:56,749 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-08 08:59:56,749 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-08 08:59:56,749 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-08 08:59:56,750 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-08 08:59:56,750 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-08 08:59:56,751 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-08 08:59:56,769 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-08 08:59:56,770 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-08 08:59:56,770 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-08 08:59:56,770 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-08 08:59:56,770 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-08 08:59:56,770 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-08 08:59:56,770 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-08 08:59:56,770 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-08 08:59:56,770 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-08 08:59:56,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-08 08:59:56,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-08 08:59:56,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-08 08:59:56,770 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-08 08:59:56,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-08 08:59:56,771 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-08 08:59:56,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2002885566] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:56,771 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:56,771 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-08 08:59:56,772 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:56,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1785453489] [2022-04-08 08:59:56,772 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1785453489] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:56,772 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:56,772 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:59:56,772 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1273191447] [2022-04-08 08:59:56,772 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:56,772 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-08 08:59:56,772 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:56,773 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-08 08:59:56,805 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-08 08:59:56,805 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:59:56,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:56,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:59:56,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-08 08:59:56,806 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-08 08:59:57,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:57,508 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-08 08:59:57,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 08:59:57,509 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-08 08:59:57,509 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:57,509 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-08 08:59:57,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-08 08:59:57,510 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-08 08:59:57,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-08 08:59:57,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 97 transitions. [2022-04-08 08:59:57,586 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-08 08:59:57,587 INFO L225 Difference]: With dead ends: 90 [2022-04-08 08:59:57,587 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 08:59:57,587 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-08 08:59:57,588 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-08 08:59:57,588 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-08 08:59:57,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 08:59:57,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 60. [2022-04-08 08:59:57,678 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:57,679 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-08 08:59:57,679 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-08 08:59:57,679 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-08 08:59:57,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:57,680 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 08:59:57,680 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 08:59:57,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:57,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:57,680 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-08 08:59:57,680 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-08 08:59:57,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:57,681 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 08:59:57,681 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 08:59:57,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:57,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:57,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:57,682 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:57,682 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-08 08:59:57,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-08 08:59:57,682 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 48 [2022-04-08 08:59:57,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:57,683 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-08 08:59:57,683 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-08 08:59:57,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-08 08:59:57,783 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-08 08:59:57,783 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-08 08:59:57,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 08:59:57,784 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:57,784 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-08 08:59:57,800 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-08 08:59:57,984 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-08 08:59:57,984 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:57,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:57,985 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 17 times [2022-04-08 08:59:57,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:57,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1898045586] [2022-04-08 08:59:57,987 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:57,987 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:57,988 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 18 times [2022-04-08 08:59:57,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:57,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1608873245] [2022-04-08 08:59:57,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:57,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:58,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:58,024 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:58,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:58,031 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-08 08:59:58,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,031 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,034 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 08:59:58,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:58,074 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-08 08:59:58,074 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-08 08:59:58,075 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-08 08:59:58,075 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-08 08:59:58,075 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-08 08:59:58,075 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-08 08:59:58,076 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-08 08:59:58,076 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-08 08:59:58,076 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-08 08:59:58,076 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-08 08:59:58,077 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-08 08:59:58,077 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-08 08:59:58,077 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-08 08:59:58,078 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-08 08:59:58,078 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-08 08:59:58,078 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-08 08:59:58,078 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-08 08:59:58,079 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-08 08:59:58,079 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-08 08:59:58,079 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-08 08:59:58,080 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-08 08:59:58,080 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-08 08:59:58,080 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-08 08:59:58,080 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-08 08:59:58,081 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-08 08:59:58,081 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-08 08:59:58,081 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-08 08:59:58,081 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-08 08:59:58,082 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-08 08:59:58,082 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-08 08:59:58,082 INFO L290 TraceCheckUtils]: 30: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-08 08:59:58,083 INFO L290 TraceCheckUtils]: 31: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-08 08:59:58,083 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 08:59:58,084 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-08 08:59:58,085 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-08 08:59:58,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,086 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,086 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-08 08:59:58,086 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-08 08:59:58,086 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-08 08:59:58,087 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-08 08:59:58,087 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-08 08:59:58,087 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,087 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7154#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 08:59:58,088 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-08 08:59:58,088 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-08 08:59:58,088 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-08 08:59:58,088 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-08 08:59:58,089 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-08 08:59:58,089 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-08 08:59:58,089 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-08 08:59:58,090 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-08 08:59:58,090 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-08 08:59:58,090 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-08 08:59:58,090 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-08 08:59:58,091 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-08 08:59:58,091 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-08 08:59:58,091 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-08 08:59:58,091 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-08 08:59:58,092 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-08 08:59:58,092 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-08 08:59:58,092 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-08 08:59:58,092 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-08 08:59:58,093 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-08 08:59:58,093 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-08 08:59:58,093 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-08 08:59:58,093 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-08 08:59:58,094 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-08 08:59:58,094 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-08 08:59:58,094 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-08 08:59:58,095 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-08 08:59:58,095 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-08 08:59:58,095 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-08 08:59:58,095 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-08 08:59:58,096 INFO L290 TraceCheckUtils]: 42: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-08 08:59:58,096 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-08 08:59:58,096 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 08:59:58,097 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-08 08:59:58,097 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-08 08:59:58,097 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-08 08:59:58,097 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-08 08:59:58,097 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-08 08:59:58,097 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-08 08:59:58,097 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-08 08:59:58,097 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:59:58,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1608873245] [2022-04-08 08:59:58,097 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1608873245] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:59:58,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [963587381] [2022-04-08 08:59:58,097 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 08:59:58,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:59:58,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:59:58,098 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-08 08:59:58,099 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-08 08:59:58,171 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 08:59:58,171 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:59:58,172 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 08:59:58,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:58,184 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:59:58,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-08 08:59:58,473 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-08 08:59:58,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,474 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,474 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-08 08:59:58,474 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-08 08:59:58,475 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-08 08:59:58,475 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-08 08:59:58,475 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-08 08:59:58,476 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,476 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:58,476 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-08 08:59:58,476 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-08 08:59:58,477 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-08 08:59:58,477 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-08 08:59:58,478 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-08 08:59:58,478 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-08 08:59:58,478 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-08 08:59:58,479 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-08 08:59:58,479 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-08 08:59:58,479 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-08 08:59:58,480 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-08 08:59:58,480 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-08 08:59:58,481 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-08 08:59:58,481 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-08 08:59:58,481 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-08 08:59:58,482 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-08 08:59:58,482 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-08 08:59:58,483 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-08 08:59:58,483 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-08 08:59:58,483 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-08 08:59:58,484 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-08 08:59:58,484 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-08 08:59:58,484 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-08 08:59:58,485 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-08 08:59:58,485 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-08 08:59:58,486 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-08 08:59:58,486 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-08 08:59:58,486 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-08 08:59:58,487 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-08 08:59:58,487 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-08 08:59:58,488 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-08 08:59:58,488 INFO L290 TraceCheckUtils]: 43: Hoare triple {7115#false} assume true; {7115#false} is VALID [2022-04-08 08:59:58,488 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7115#false} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 08:59:58,488 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-08 08:59:58,488 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-08 08:59:58,488 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-08 08:59:58,488 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-08 08:59:58,488 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-08 08:59:58,488 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-08 08:59:58,488 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-08 08:59:58,488 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 08:59:58,919 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-08 08:59:58,919 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-08 08:59:58,919 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-08 08:59:58,919 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-08 08:59:58,919 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-08 08:59:58,919 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-08 08:59:58,921 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7333#(< 2 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 08:59:58,921 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-08 08:59:58,921 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-08 08:59:58,922 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-08 08:59:58,922 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-08 08:59:58,922 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-08 08:59:58,922 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-08 08:59:58,923 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-08 08:59:58,923 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-08 08:59:58,923 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-08 08:59:58,924 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-08 08:59:58,924 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-08 08:59:58,924 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-08 08:59:58,924 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-08 08:59:58,925 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-08 08:59:58,925 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-08 08:59:58,925 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-08 08:59:58,926 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-08 08:59:58,926 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-08 08:59:58,926 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-08 08:59:58,927 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-08 08:59:58,927 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-08 08:59:58,927 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-08 08:59:58,928 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-08 08:59:58,928 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-08 08:59:58,928 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-08 08:59:58,929 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-08 08:59:58,929 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-08 08:59:58,929 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-08 08:59:58,930 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-08 08:59:58,930 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-08 08:59:58,930 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-08 08:59:58,931 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-08 08:59:58,931 INFO L272 TraceCheckUtils]: 11: Hoare triple {7333#(< 2 ~n~0)} call SelectionSort(); {7114#true} is VALID [2022-04-08 08:59:58,931 INFO L290 TraceCheckUtils]: 10: Hoare triple {7333#(< 2 ~n~0)} assume !(~i~1 >= 0); {7333#(< 2 ~n~0)} is VALID [2022-04-08 08:59:58,931 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-08 08:59:58,932 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-08 08:59:58,932 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-08 08:59:58,932 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-08 08:59:58,932 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-08 08:59:58,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {7333#(< 2 ~n~0)} call #t~ret10 := main(); {7333#(< 2 ~n~0)} is VALID [2022-04-08 08:59:58,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7333#(< 2 ~n~0)} {7114#true} #95#return; {7333#(< 2 ~n~0)} is VALID [2022-04-08 08:59:58,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {7333#(< 2 ~n~0)} assume true; {7333#(< 2 ~n~0)} is VALID [2022-04-08 08:59:58,934 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-08 08:59:58,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-08 08:59:58,934 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-08 08:59:58,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [963587381] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 08:59:58,934 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 08:59:58,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-08 08:59:58,934 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:59:58,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1898045586] [2022-04-08 08:59:58,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1898045586] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:59:58,935 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:59:58,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:59:58,935 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1672463260] [2022-04-08 08:59:58,935 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:59:58,935 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-08 08:59:58,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:59:58,935 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-08 08:59:58,955 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-08 08:59:58,956 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 08:59:58,956 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:58,956 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 08:59:58,956 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:59:58,956 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-08 08:59:59,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:59,467 INFO L93 Difference]: Finished difference Result 87 states and 105 transitions. [2022-04-08 08:59:59,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 08:59:59,467 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-08 08:59:59,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:59:59,468 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-08 08:59:59,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-08 08:59:59,469 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-08 08:59:59,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-08 08:59:59,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 72 transitions. [2022-04-08 08:59:59,524 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-08 08:59:59,525 INFO L225 Difference]: With dead ends: 87 [2022-04-08 08:59:59,525 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 08:59:59,525 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-08 08:59:59,526 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 118 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 08:59:59,526 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-08 08:59:59,526 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 08:59:59,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 66. [2022-04-08 08:59:59,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:59:59,622 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-08 08:59:59,623 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-08 08:59:59,623 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-08 08:59:59,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:59,624 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 08:59:59,624 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 08:59:59,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:59,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:59,624 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-08 08:59:59,624 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-08 08:59:59,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:59:59,625 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 08:59:59,625 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 08:59:59,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:59:59,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:59:59,625 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:59:59,625 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:59:59,626 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-08 08:59:59,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 80 transitions. [2022-04-08 08:59:59,626 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 80 transitions. Word has length 51 [2022-04-08 08:59:59,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:59:59,627 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 80 transitions. [2022-04-08 08:59:59,627 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-08 08:59:59,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 80 transitions. [2022-04-08 08:59:59,726 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-08 08:59:59,726 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-08 08:59:59,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 08:59:59,726 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:59:59,726 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-08 08:59:59,742 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-08 08:59:59,939 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-08 08:59:59,939 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:59:59,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:59:59,940 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 19 times [2022-04-08 08:59:59,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:59:59,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1198253954] [2022-04-08 08:59:59,942 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 08:59:59,942 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:59:59,942 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 20 times [2022-04-08 08:59:59,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:59:59,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1066693191] [2022-04-08 08:59:59,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:59:59,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:59:59,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:59,986 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:59:59,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:59:59,991 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-08 08:59:59,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:59,992 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 08:59:59,995 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 09:00:00,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:00,042 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-08 09:00:00,042 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-08 09:00:00,042 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-08 09:00:00,043 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-08 09:00:00,043 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-08 09:00:00,043 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-08 09:00:00,044 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-08 09:00:00,044 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-08 09:00:00,044 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-08 09:00:00,044 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-08 09:00:00,045 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-08 09:00:00,045 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-08 09:00:00,045 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-08 09:00:00,045 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-08 09:00:00,046 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-08 09:00:00,046 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-08 09:00:00,046 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-08 09:00:00,047 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-08 09:00:00,047 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-08 09:00:00,047 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-08 09:00:00,047 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-08 09:00:00,048 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-08 09:00:00,048 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-08 09:00:00,048 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-08 09:00:00,048 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-08 09:00:00,049 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-08 09:00:00,049 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-08 09:00:00,049 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-08 09:00:00,049 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-08 09:00:00,050 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-08 09:00:00,050 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-08 09:00:00,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-08 09:00:00,051 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-08 09:00:00,051 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-08 09:00:00,051 INFO L290 TraceCheckUtils]: 34: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-08 09:00:00,052 INFO L290 TraceCheckUtils]: 35: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-08 09:00:00,052 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-08 09:00:00,053 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-08 09:00:00,053 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-08 09:00:00,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:00,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:00,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {7946#(<= 5 ~n~0)} call #t~ret10 := main(); {7946#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:00,058 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-08 09:00:00,059 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-08 09:00:00,059 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-08 09:00:00,059 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-08 09:00:00,059 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-08 09:00:00,060 INFO L290 TraceCheckUtils]: 10: Hoare triple {7946#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7946#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:00,060 INFO L272 TraceCheckUtils]: 11: Hoare triple {7946#(<= 5 ~n~0)} call SelectionSort(); {7985#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:00,060 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-08 09:00:00,061 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-08 09:00:00,061 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-08 09:00:00,061 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-08 09:00:00,061 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-08 09:00:00,062 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-08 09:00:00,062 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-08 09:00:00,062 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-08 09:00:00,062 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-08 09:00:00,063 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-08 09:00:00,063 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-08 09:00:00,063 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-08 09:00:00,063 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-08 09:00:00,064 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-08 09:00:00,064 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-08 09:00:00,064 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-08 09:00:00,065 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-08 09:00:00,065 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-08 09:00:00,065 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-08 09:00:00,065 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-08 09:00:00,066 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-08 09:00:00,066 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-08 09:00:00,066 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-08 09:00:00,066 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-08 09:00:00,067 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-08 09:00:00,067 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-08 09:00:00,067 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-08 09:00:00,067 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-08 09:00:00,068 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-08 09:00:00,068 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-08 09:00:00,069 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-08 09:00:00,069 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-08 09:00:00,069 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-08 09:00:00,069 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-08 09:00:00,070 INFO L290 TraceCheckUtils]: 46: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-08 09:00:00,070 INFO L290 TraceCheckUtils]: 47: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-08 09:00:00,070 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-08 09:00:00,071 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-08 09:00:00,071 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-08 09:00:00,071 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-08 09:00:00,071 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-08 09:00:00,071 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-08 09:00:00,071 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-08 09:00:00,071 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-08 09:00:00,072 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:00,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1066693191] [2022-04-08 09:00:00,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1066693191] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:00,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [700960708] [2022-04-08 09:00:00,072 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:00:00,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:00,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:00,073 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-08 09:00:00,073 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-08 09:00:00,137 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:00:00,137 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:00,138 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 09:00:00,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:00,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:00,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-08 09:00:00,264 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-08 09:00:00,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-08 09:00:00,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-08 09:00:00,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-08 09:00:00,265 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-08 09:00:00,265 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-08 09:00:00,265 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-08 09:00:00,266 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-08 09:00:00,266 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-08 09:00:00,266 INFO L290 TraceCheckUtils]: 10: Hoare triple {8023#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-08 09:00:00,266 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7942#false} is VALID [2022-04-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,267 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-08 09:00:00,268 INFO L290 TraceCheckUtils]: 26: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 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-08 09:00:00,268 INFO L290 TraceCheckUtils]: 39: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-08 09:00:00,269 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-08 09:00:00,269 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-08 09:00:00,269 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-08 09:00:00,269 INFO L290 TraceCheckUtils]: 43: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-08 09:00:00,269 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-08 09:00:00,269 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-08 09:00:00,269 INFO L290 TraceCheckUtils]: 46: Hoare triple {7942#false} assume !(~lh~0 < ~n~0); {7942#false} is VALID [2022-04-08 09:00:00,269 INFO L290 TraceCheckUtils]: 47: Hoare triple {7942#false} assume true; {7942#false} is VALID [2022-04-08 09:00:00,269 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7942#false} {7942#false} #91#return; {7942#false} is VALID [2022-04-08 09:00:00,269 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-08 09:00:00,269 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-08 09:00:00,269 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-08 09:00:00,269 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-08 09:00:00,269 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-08 09:00:00,270 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-08 09:00:00,270 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-08 09:00:00,275 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:00,408 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-08 09:00:00,408 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-08 09:00:00,408 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-08 09:00:00,408 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-08 09:00:00,409 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-08 09:00:00,409 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-08 09:00:00,409 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7941#true} {7942#false} #91#return; {7942#false} is VALID [2022-04-08 09:00:00,409 INFO L290 TraceCheckUtils]: 47: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-08 09:00:00,409 INFO L290 TraceCheckUtils]: 46: Hoare triple {7941#true} assume !(~lh~0 < ~n~0); {7941#true} is VALID [2022-04-08 09:00:00,409 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-08 09:00:00,409 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-08 09:00:00,409 INFO L290 TraceCheckUtils]: 43: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-08 09:00:00,409 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-08 09:00:00,409 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-08 09:00:00,409 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-08 09:00:00,409 INFO L290 TraceCheckUtils]: 39: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-08 09:00:00,409 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-08 09:00:00,409 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 INFO L290 TraceCheckUtils]: 26: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,410 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 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-08 09:00:00,411 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7941#true} is VALID [2022-04-08 09:00:00,412 INFO L290 TraceCheckUtils]: 10: Hoare triple {8291#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-08 09:00:00,412 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-08 09:00:00,412 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-08 09:00:00,413 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-08 09:00:00,413 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-08 09:00:00,414 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-08 09:00:00,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-08 09:00:00,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-08 09:00:00,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-08 09:00:00,414 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-08 09:00:00,414 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-08 09:00:00,414 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-08 09:00:00,414 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [700960708] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:00,414 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:00,414 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-08 09:00:00,415 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:00,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1198253954] [2022-04-08 09:00:00,415 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1198253954] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:00,415 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:00,415 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 09:00:00,415 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330343053] [2022-04-08 09:00:00,415 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:00,415 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-08 09:00:00,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:00,416 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-08 09:00:00,440 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-08 09:00:00,440 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 09:00:00,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:00,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 09:00:00,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 09:00:00,441 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-08 09:00:01,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:01,055 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-08 09:00:01,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 09:00:01,055 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-08 09:00:01,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:01,056 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-08 09:00:01,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-08 09:00:01,057 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-08 09:00:01,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-08 09:00:01,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 87 transitions. [2022-04-08 09:00:01,133 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-08 09:00:01,134 INFO L225 Difference]: With dead ends: 90 [2022-04-08 09:00:01,134 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 09:00:01,135 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-08 09:00:01,135 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-08 09:00:01,135 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-08 09:00:01,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 09:00:01,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 67. [2022-04-08 09:00:01,239 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:01,239 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-08 09:00:01,243 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-08 09:00:01,243 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-08 09:00:01,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:01,244 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 09:00:01,244 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 09:00:01,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:01,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:01,245 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-08 09:00:01,245 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-08 09:00:01,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:01,246 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 09:00:01,246 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 09:00:01,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:01,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:01,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:01,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:01,247 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-08 09:00:01,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-04-08 09:00:01,248 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 55 [2022-04-08 09:00:01,248 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:01,248 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-04-08 09:00:01,248 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-08 09:00:01,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 81 transitions. [2022-04-08 09:00:01,360 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-08 09:00:01,360 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-04-08 09:00:01,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-08 09:00:01,360 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:01,361 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-08 09:00:01,377 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 09:00:01,567 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-08 09:00:01,567 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:01,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:01,568 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 21 times [2022-04-08 09:00:01,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:01,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1998539109] [2022-04-08 09:00:01,570 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:01,570 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:01,570 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 22 times [2022-04-08 09:00:01,570 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:01,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [885142431] [2022-04-08 09:00:01,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:01,570 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:01,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:01,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:01,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:01,634 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-08 09:00:01,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:01,635 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:01,637 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 09:00:01,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:01,701 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-08 09:00:01,702 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-08 09:00:01,702 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-08 09:00:01,702 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-08 09:00:01,703 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-08 09:00:01,703 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-08 09:00:01,703 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-08 09:00:01,703 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-08 09:00:01,704 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-08 09:00:01,704 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-08 09:00:01,704 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-08 09:00:01,704 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-08 09:00:01,705 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-08 09:00:01,705 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-08 09:00:01,705 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-08 09:00:01,705 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-08 09:00:01,706 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-08 09:00:01,706 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-08 09:00:01,707 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-08 09:00:01,707 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-08 09:00:01,707 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-08 09:00:01,707 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-08 09:00:01,708 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-08 09:00:01,708 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-08 09:00:01,708 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-08 09:00:01,708 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-08 09:00:01,709 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-08 09:00:01,709 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-08 09:00:01,709 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-08 09:00:01,710 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-08 09:00:01,710 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-08 09:00:01,710 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-08 09:00:01,710 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-08 09:00:01,711 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-08 09:00:01,711 INFO L290 TraceCheckUtils]: 34: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-08 09:00:01,711 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-08 09:00:01,712 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-08 09:00:01,712 INFO L290 TraceCheckUtils]: 37: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-08 09:00:01,712 INFO L290 TraceCheckUtils]: 38: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-08 09:00:01,713 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-08 09:00:01,713 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-08 09:00:01,714 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-08 09:00:01,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:01,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:01,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {8814#(<= 5 ~n~0)} call #t~ret10 := main(); {8814#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:01,715 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-08 09:00:01,715 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-08 09:00:01,715 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-08 09:00:01,715 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-08 09:00:01,716 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-08 09:00:01,716 INFO L290 TraceCheckUtils]: 10: Hoare triple {8814#(<= 5 ~n~0)} assume !(~i~1 >= 0); {8814#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:01,716 INFO L272 TraceCheckUtils]: 11: Hoare triple {8814#(<= 5 ~n~0)} call SelectionSort(); {8856#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:01,716 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-08 09:00:01,717 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-08 09:00:01,717 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-08 09:00:01,717 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-08 09:00:01,717 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-08 09:00:01,718 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-08 09:00:01,718 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-08 09:00:01,718 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-08 09:00:01,718 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-08 09:00:01,719 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-08 09:00:01,719 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-08 09:00:01,719 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-08 09:00:01,719 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-08 09:00:01,720 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-08 09:00:01,720 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-08 09:00:01,720 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-08 09:00:01,721 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-08 09:00:01,721 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-08 09:00:01,721 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-08 09:00:01,721 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-08 09:00:01,722 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-08 09:00:01,722 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-08 09:00:01,722 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-08 09:00:01,723 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-08 09:00:01,723 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-08 09:00:01,723 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-08 09:00:01,723 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-08 09:00:01,724 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-08 09:00:01,724 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-08 09:00:01,724 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-08 09:00:01,725 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-08 09:00:01,725 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-08 09:00:01,725 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-08 09:00:01,726 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-08 09:00:01,726 INFO L290 TraceCheckUtils]: 46: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-08 09:00:01,726 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-08 09:00:01,727 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-08 09:00:01,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-08 09:00:01,727 INFO L290 TraceCheckUtils]: 50: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-08 09:00:01,728 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-08 09:00:01,728 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-08 09:00:01,728 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-08 09:00:01,728 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-08 09:00:01,728 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-08 09:00:01,728 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-08 09:00:01,728 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-08 09:00:01,729 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-08 09:00:01,729 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:01,729 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [885142431] [2022-04-08 09:00:01,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [885142431] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:01,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1838660756] [2022-04-08 09:00:01,730 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:00:01,730 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:01,730 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:01,740 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-08 09:00:01,743 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-08 09:00:01,808 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:00:01,808 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:01,808 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 09:00:01,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:01,821 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:02,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-08 09:00:02,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-08 09:00:02,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-08 09:00:02,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-08 09:00:02,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-08 09:00:02,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-08 09:00:02,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-08 09:00:02,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-08 09:00:02,102 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-08 09:00:02,102 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-08 09:00:02,102 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-08 09:00:02,102 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-08 09:00:02,102 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-08 09:00:02,102 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-08 09:00:02,102 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-08 09:00:02,103 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-08 09:00:02,103 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-08 09:00:02,104 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-08 09:00:02,104 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-08 09:00:02,104 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-08 09:00:02,104 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-08 09:00:02,105 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-08 09:00:02,105 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-08 09:00:02,106 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-08 09:00:02,106 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-08 09:00:02,106 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-08 09:00:02,107 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-08 09:00:02,107 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-08 09:00:02,107 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-08 09:00:02,107 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-08 09:00:02,108 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-08 09:00:02,108 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-08 09:00:02,108 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-08 09:00:02,108 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-08 09:00:02,109 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-08 09:00:02,109 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-08 09:00:02,109 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-08 09:00:02,110 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-08 09:00:02,110 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-08 09:00:02,110 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-08 09:00:02,110 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-08 09:00:02,111 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-08 09:00:02,111 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-08 09:00:02,111 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-08 09:00:02,112 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-08 09:00:02,112 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-08 09:00:02,112 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-08 09:00:02,112 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-08 09:00:02,112 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-08 09:00:02,113 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-08 09:00:02,113 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-08 09:00:02,113 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-08 09:00:02,113 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-08 09:00:02,113 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-08 09:00:02,113 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-08 09:00:02,113 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-08 09:00:02,113 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-08 09:00:02,113 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-08 09:00:02,113 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-08 09:00:02,113 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:02,333 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-08 09:00:02,333 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-08 09:00:02,334 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-08 09:00:02,334 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-08 09:00:02,334 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-08 09:00:02,334 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-08 09:00:02,334 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-08 09:00:02,334 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-08 09:00:02,334 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-08 09:00:02,334 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-08 09:00:02,334 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-08 09:00:02,334 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-08 09:00:02,335 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-08 09:00:02,335 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-08 09:00:02,335 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-08 09:00:02,336 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-08 09:00:02,336 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-08 09:00:02,337 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-08 09:00:02,337 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-08 09:00:02,337 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-08 09:00:02,337 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-08 09:00:02,338 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-08 09:00:02,338 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-08 09:00:02,338 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-08 09:00:02,338 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-08 09:00:02,339 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-08 09:00:02,339 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-08 09:00:02,339 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-08 09:00:02,339 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-08 09:00:02,340 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-08 09:00:02,340 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-08 09:00:02,340 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-08 09:00:02,341 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-08 09:00:02,341 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-08 09:00:02,341 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-08 09:00:02,342 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-08 09:00:02,342 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-08 09:00:02,342 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-08 09:00:02,343 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-08 09:00:02,343 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-08 09:00:02,343 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-08 09:00:02,344 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-08 09:00:02,344 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-08 09:00:02,344 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-08 09:00:02,345 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-08 09:00:02,345 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-08 09:00:02,345 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-08 09:00:02,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-08 09:00:02,345 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-08 09:00:02,345 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-08 09:00:02,345 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-08 09:00:02,345 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-08 09:00:02,345 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-08 09:00:02,345 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-08 09:00:02,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-08 09:00:02,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-08 09:00:02,345 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-08 09:00:02,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-08 09:00:02,346 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-08 09:00:02,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1838660756] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:02,346 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:02,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-08 09:00:02,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:02,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1998539109] [2022-04-08 09:00:02,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1998539109] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:02,346 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:02,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 09:00:02,347 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1988928877] [2022-04-08 09:00:02,347 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:02,347 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-08 09:00:02,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:02,347 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-08 09:00:02,376 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-08 09:00:02,376 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 09:00:02,376 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:02,377 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 09:00:02,377 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-08 09:00:02,377 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-08 09:00:03,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:03,155 INFO L93 Difference]: Finished difference Result 100 states and 123 transitions. [2022-04-08 09:00:03,156 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 09:00:03,156 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-08 09:00:03,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:03,156 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-08 09:00:03,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-08 09:00:03,172 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-08 09:00:03,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-08 09:00:03,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 105 transitions. [2022-04-08 09:00:03,262 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-08 09:00:03,263 INFO L225 Difference]: With dead ends: 100 [2022-04-08 09:00:03,263 INFO L226 Difference]: Without dead ends: 77 [2022-04-08 09:00:03,264 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-08 09:00:03,264 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-08 09:00:03,264 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-08 09:00:03,265 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-08 09:00:03,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-08 09:00:03,385 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:03,385 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-08 09:00:03,385 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-08 09:00:03,385 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-08 09:00:03,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:03,386 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-08 09:00:03,387 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-08 09:00:03,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:03,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:03,387 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-08 09:00:03,387 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-08 09:00:03,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:03,388 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-08 09:00:03,388 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-08 09:00:03,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:03,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:03,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:03,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:03,388 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-08 09:00:03,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 85 transitions. [2022-04-08 09:00:03,389 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 85 transitions. Word has length 58 [2022-04-08 09:00:03,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:03,389 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 85 transitions. [2022-04-08 09:00:03,390 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-08 09:00:03,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 85 transitions. [2022-04-08 09:00:03,510 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-08 09:00:03,510 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-08 09:00:03,511 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 09:00:03,511 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:03,511 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-08 09:00:03,527 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-08 09:00:03,711 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-08 09:00:03,711 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:03,712 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:03,712 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 23 times [2022-04-08 09:00:03,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:03,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1426018491] [2022-04-08 09:00:03,714 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:03,714 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:03,714 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 24 times [2022-04-08 09:00:03,714 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:03,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1036816134] [2022-04-08 09:00:03,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:03,714 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:03,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:03,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:03,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:03,763 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-08 09:00:03,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:03,764 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:03,766 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 09:00:03,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:03,815 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-08 09:00:03,815 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-08 09:00:03,815 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-08 09:00:03,816 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-08 09:00:03,816 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-08 09:00:03,816 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-08 09:00:03,816 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-08 09:00:03,817 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-08 09:00:03,817 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-08 09:00:03,817 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-08 09:00:03,817 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-08 09:00:03,817 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-08 09:00:03,818 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-08 09:00:03,818 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-08 09:00:03,818 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-08 09:00:03,818 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-08 09:00:03,819 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-08 09:00:03,819 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-08 09:00:03,819 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-08 09:00:03,820 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-08 09:00:03,820 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-08 09:00:03,820 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-08 09:00:03,820 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-08 09:00:03,821 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-08 09:00:03,821 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-08 09:00:03,821 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-08 09:00:03,821 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-08 09:00:03,822 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-08 09:00:03,822 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-08 09:00:03,822 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-08 09:00:03,822 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-08 09:00:03,823 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-08 09:00:03,823 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-08 09:00:03,823 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-08 09:00:03,823 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-08 09:00:03,824 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-08 09:00:03,824 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-08 09:00:03,824 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-08 09:00:03,824 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-08 09:00:03,825 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-08 09:00:03,825 INFO L290 TraceCheckUtils]: 40: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-08 09:00:03,826 INFO L290 TraceCheckUtils]: 41: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-08 09:00:03,826 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-08 09:00:03,826 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-08 09:00:03,827 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-08 09:00:03,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:03,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:03,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {9746#(<= 5 ~n~0)} call #t~ret10 := main(); {9746#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:03,828 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-08 09:00:03,828 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-08 09:00:03,829 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-08 09:00:03,829 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-08 09:00:03,829 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-08 09:00:03,829 INFO L290 TraceCheckUtils]: 10: Hoare triple {9746#(<= 5 ~n~0)} assume !(~i~1 >= 0); {9746#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:03,830 INFO L272 TraceCheckUtils]: 11: Hoare triple {9746#(<= 5 ~n~0)} call SelectionSort(); {9791#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:03,830 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-08 09:00:03,830 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-08 09:00:03,830 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-08 09:00:03,831 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-08 09:00:03,831 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-08 09:00:03,831 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-08 09:00:03,831 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-08 09:00:03,832 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-08 09:00:03,832 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-08 09:00:03,832 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-08 09:00:03,832 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-08 09:00:03,833 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-08 09:00:03,833 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-08 09:00:03,833 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-08 09:00:03,833 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-08 09:00:03,834 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-08 09:00:03,834 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-08 09:00:03,834 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-08 09:00:03,834 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-08 09:00:03,835 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-08 09:00:03,835 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-08 09:00:03,835 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-08 09:00:03,835 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-08 09:00:03,836 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-08 09:00:03,836 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-08 09:00:03,836 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-08 09:00:03,836 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-08 09:00:03,836 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-08 09:00:03,837 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-08 09:00:03,837 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-08 09:00:03,837 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-08 09:00:03,838 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-08 09:00:03,838 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-08 09:00:03,838 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-08 09:00:03,838 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-08 09:00:03,838 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-08 09:00:03,839 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-08 09:00:03,839 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-08 09:00:03,839 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-08 09:00:03,839 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-08 09:00:03,840 INFO L290 TraceCheckUtils]: 52: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-08 09:00:03,840 INFO L290 TraceCheckUtils]: 53: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-08 09:00:03,840 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-08 09:00:03,841 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-08 09:00:03,841 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-08 09:00:03,841 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-08 09:00:03,841 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-08 09:00:03,841 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-08 09:00:03,841 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-08 09:00:03,841 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-08 09:00:03,841 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:03,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1036816134] [2022-04-08 09:00:03,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1036816134] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:03,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1856080943] [2022-04-08 09:00:03,842 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 09:00:03,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:03,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:03,843 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-08 09:00:03,844 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-08 09:00:03,913 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 09:00:03,914 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:03,914 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 09:00:03,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:03,928 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:04,046 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-08 09:00:04,046 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-08 09:00:04,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-08 09:00:04,047 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-08 09:00:04,047 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-08 09:00:04,047 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-08 09:00:04,047 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-08 09:00:04,048 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-08 09:00:04,048 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-08 09:00:04,048 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-08 09:00:04,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {9829#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-08 09:00:04,049 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9742#false} is VALID [2022-04-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,049 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 INFO L290 TraceCheckUtils]: 26: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,050 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-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,051 INFO L290 TraceCheckUtils]: 39: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,051 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-08 09:00:04,052 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-08 09:00:04,052 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-08 09:00:04,052 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-08 09:00:04,052 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-08 09:00:04,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-08 09:00:04,052 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-08 09:00:04,052 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-08 09:00:04,052 INFO L290 TraceCheckUtils]: 52: Hoare triple {9742#false} assume !(~lh~0 < ~n~0); {9742#false} is VALID [2022-04-08 09:00:04,052 INFO L290 TraceCheckUtils]: 53: Hoare triple {9742#false} assume true; {9742#false} is VALID [2022-04-08 09:00:04,052 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9742#false} {9742#false} #91#return; {9742#false} is VALID [2022-04-08 09:00:04,053 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-08 09:00:04,053 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-08 09:00:04,053 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-08 09:00:04,053 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-08 09:00:04,053 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-08 09:00:04,053 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-08 09:00:04,053 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-08 09:00:04,054 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:04,179 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-08 09:00:04,179 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-08 09:00:04,179 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-08 09:00:04,179 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-08 09:00:04,179 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-08 09:00:04,179 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-08 09:00:04,179 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9741#true} {9742#false} #91#return; {9742#false} is VALID [2022-04-08 09:00:04,179 INFO L290 TraceCheckUtils]: 53: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-08 09:00:04,179 INFO L290 TraceCheckUtils]: 52: Hoare triple {9741#true} assume !(~lh~0 < ~n~0); {9741#true} is VALID [2022-04-08 09:00:04,179 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-08 09:00:04,179 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-08 09:00:04,179 INFO L290 TraceCheckUtils]: 49: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,180 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,181 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 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-08 09:00:04,182 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9741#true} is VALID [2022-04-08 09:00:04,182 INFO L290 TraceCheckUtils]: 10: Hoare triple {10133#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-08 09:00:04,183 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-08 09:00:04,183 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-08 09:00:04,184 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-08 09:00:04,184 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-08 09:00:04,184 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-08 09:00:04,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-08 09:00:04,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-08 09:00:04,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-08 09:00:04,185 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-08 09:00:04,185 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-08 09:00:04,185 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-08 09:00:04,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1856080943] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:04,185 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:04,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-08 09:00:04,185 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:04,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1426018491] [2022-04-08 09:00:04,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1426018491] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:04,185 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:04,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 09:00:04,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1399141643] [2022-04-08 09:00:04,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:04,186 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-08 09:00:04,186 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:04,186 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-08 09:00:04,211 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-08 09:00:04,211 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 09:00:04,211 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:04,212 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 09:00:04,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 09:00:04,212 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-08 09:00:04,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:04,786 INFO L93 Difference]: Finished difference Result 97 states and 118 transitions. [2022-04-08 09:00:04,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 09:00:04,787 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-08 09:00:04,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:04,787 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-08 09:00:04,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-08 09:00:04,788 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-08 09:00:04,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-08 09:00:04,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-08 09:00:04,849 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-08 09:00:04,850 INFO L225 Difference]: With dead ends: 97 [2022-04-08 09:00:04,850 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 09:00:04,850 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-08 09:00:04,850 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 140 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 163 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 140 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 163 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 09:00:04,851 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.1s Time] [2022-04-08 09:00:04,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 09:00:04,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 76. [2022-04-08 09:00:04,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:04,979 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-08 09:00:04,979 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-08 09:00:04,979 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-08 09:00:04,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:04,980 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 09:00:04,980 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 09:00:04,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:04,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:04,981 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-08 09:00:04,981 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-08 09:00:04,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:04,982 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 09:00:04,982 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 09:00:04,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:04,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:04,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:04,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:04,982 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-08 09:00:04,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 93 transitions. [2022-04-08 09:00:04,983 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 93 transitions. Word has length 61 [2022-04-08 09:00:04,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:04,983 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 93 transitions. [2022-04-08 09:00:04,984 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-08 09:00:04,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 93 transitions. [2022-04-08 09:00:05,111 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-08 09:00:05,111 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-08 09:00:05,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-08 09:00:05,112 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:05,112 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-08 09:00:05,128 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-08 09:00:05,321 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-08 09:00:05,321 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:05,321 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:05,321 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 25 times [2022-04-08 09:00:05,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:05,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1441642806] [2022-04-08 09:00:05,323 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:05,323 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:05,323 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 26 times [2022-04-08 09:00:05,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:05,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1620057700] [2022-04-08 09:00:05,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:05,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:05,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:05,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:05,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:05,365 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-08 09:00:05,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:05,366 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:05,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 09:00:05,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:05,426 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-08 09:00:05,426 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-08 09:00:05,427 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-08 09:00:05,427 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-08 09:00:05,427 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-08 09:00:05,427 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-08 09:00:05,428 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-08 09:00:05,428 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-08 09:00:05,428 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-08 09:00:05,429 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-08 09:00:05,429 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-08 09:00:05,429 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-08 09:00:05,429 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-08 09:00:05,430 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-08 09:00:05,430 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-08 09:00:05,430 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-08 09:00:05,431 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-08 09:00:05,431 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-08 09:00:05,431 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-08 09:00:05,431 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-08 09:00:05,432 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-08 09:00:05,432 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-08 09:00:05,432 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-08 09:00:05,433 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-08 09:00:05,433 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-08 09:00:05,433 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-08 09:00:05,433 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-08 09:00:05,434 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-08 09:00:05,434 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-08 09:00:05,434 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-08 09:00:05,434 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-08 09:00:05,435 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-08 09:00:05,435 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-08 09:00:05,435 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-08 09:00:05,435 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-08 09:00:05,436 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-08 09:00:05,436 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-08 09:00:05,436 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-08 09:00:05,436 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-08 09:00:05,437 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-08 09:00:05,437 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-08 09:00:05,438 INFO L290 TraceCheckUtils]: 41: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-08 09:00:05,438 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-08 09:00:05,438 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-08 09:00:05,438 INFO L290 TraceCheckUtils]: 44: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-08 09:00:05,439 INFO L290 TraceCheckUtils]: 45: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-08 09:00:05,439 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-08 09:00:05,440 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-08 09:00:05,440 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-08 09:00:05,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:05,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:05,441 INFO L272 TraceCheckUtils]: 4: Hoare triple {10704#(<= 5 ~n~0)} call #t~ret10 := main(); {10704#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:05,441 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-08 09:00:05,442 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-08 09:00:05,442 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-08 09:00:05,442 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-08 09:00:05,442 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-08 09:00:05,442 INFO L290 TraceCheckUtils]: 10: Hoare triple {10704#(<= 5 ~n~0)} assume !(~i~1 >= 0); {10704#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:05,443 INFO L272 TraceCheckUtils]: 11: Hoare triple {10704#(<= 5 ~n~0)} call SelectionSort(); {10753#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:05,443 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-08 09:00:05,443 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-08 09:00:05,444 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-08 09:00:05,444 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-08 09:00:05,444 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-08 09:00:05,444 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-08 09:00:05,445 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-08 09:00:05,445 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-08 09:00:05,445 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-08 09:00:05,445 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-08 09:00:05,446 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-08 09:00:05,446 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-08 09:00:05,446 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-08 09:00:05,446 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-08 09:00:05,447 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-08 09:00:05,447 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-08 09:00:05,447 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-08 09:00:05,447 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-08 09:00:05,448 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-08 09:00:05,448 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-08 09:00:05,448 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-08 09:00:05,448 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-08 09:00:05,449 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-08 09:00:05,449 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-08 09:00:05,449 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-08 09:00:05,449 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-08 09:00:05,450 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-08 09:00:05,450 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-08 09:00:05,450 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-08 09:00:05,450 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-08 09:00:05,451 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-08 09:00:05,451 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-08 09:00:05,451 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-08 09:00:05,451 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-08 09:00:05,452 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-08 09:00:05,452 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-08 09:00:05,452 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-08 09:00:05,452 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-08 09:00:05,453 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-08 09:00:05,453 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-08 09:00:05,453 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-08 09:00:05,454 INFO L290 TraceCheckUtils]: 53: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-08 09:00:05,454 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-08 09:00:05,454 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-08 09:00:05,454 INFO L290 TraceCheckUtils]: 56: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-08 09:00:05,455 INFO L290 TraceCheckUtils]: 57: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-08 09:00:05,455 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-08 09:00:05,455 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-08 09:00:05,455 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-08 09:00:05,455 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-08 09:00:05,455 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-08 09:00:05,455 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-08 09:00:05,455 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-08 09:00:05,456 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-08 09:00:05,456 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:05,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1620057700] [2022-04-08 09:00:05,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1620057700] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:05,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1151274861] [2022-04-08 09:00:05,457 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:00:05,457 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:05,457 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:05,459 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-08 09:00:05,460 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-08 09:00:05,544 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:00:05,544 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:05,545 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 09:00:05,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:05,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:05,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-08 09:00:05,701 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-08 09:00:05,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-08 09:00:05,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-08 09:00:05,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-08 09:00:05,701 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-08 09:00:05,701 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-08 09:00:05,702 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-08 09:00:05,702 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-08 09:00:05,703 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-08 09:00:05,703 INFO L290 TraceCheckUtils]: 10: Hoare triple {10792#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-08 09:00:05,703 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10700#false} is VALID [2022-04-08 09:00:05,703 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-08 09:00:05,703 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-08 09:00:05,703 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-08 09:00:05,703 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-08 09:00:05,703 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-08 09:00:05,703 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,704 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 INFO L290 TraceCheckUtils]: 39: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,705 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-08 09:00:05,706 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-08 09:00:05,706 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-08 09:00:05,706 INFO L290 TraceCheckUtils]: 49: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 09:00:05,706 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-08 09:00:05,706 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-08 09:00:05,706 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-08 09:00:05,706 INFO L290 TraceCheckUtils]: 53: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 09:00:05,706 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-08 09:00:05,706 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-08 09:00:05,706 INFO L290 TraceCheckUtils]: 56: Hoare triple {10700#false} assume !(~lh~0 < ~n~0); {10700#false} is VALID [2022-04-08 09:00:05,706 INFO L290 TraceCheckUtils]: 57: Hoare triple {10700#false} assume true; {10700#false} is VALID [2022-04-08 09:00:05,706 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10700#false} {10700#false} #91#return; {10700#false} is VALID [2022-04-08 09:00:05,706 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-08 09:00:05,707 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-08 09:00:05,707 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-08 09:00:05,707 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-08 09:00:05,707 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-08 09:00:05,707 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-08 09:00:05,707 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-08 09:00:05,707 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:05,841 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-08 09:00:05,841 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-08 09:00:05,841 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-08 09:00:05,841 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-08 09:00:05,841 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-08 09:00:05,841 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-08 09:00:05,841 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10699#true} {10700#false} #91#return; {10700#false} is VALID [2022-04-08 09:00:05,841 INFO L290 TraceCheckUtils]: 57: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-08 09:00:05,842 INFO L290 TraceCheckUtils]: 56: Hoare triple {10699#true} assume !(~lh~0 < ~n~0); {10699#true} is VALID [2022-04-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,842 INFO L290 TraceCheckUtils]: 53: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,842 INFO L290 TraceCheckUtils]: 49: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,842 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 INFO L290 TraceCheckUtils]: 39: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,843 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,844 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-08 09:00:05,845 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-08 09:00:05,845 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-08 09:00:05,845 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10699#true} is VALID [2022-04-08 09:00:05,845 INFO L290 TraceCheckUtils]: 10: Hoare triple {11120#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-08 09:00:05,845 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-08 09:00:05,846 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-08 09:00:05,846 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-08 09:00:05,846 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-08 09:00:05,847 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-08 09:00:05,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-08 09:00:05,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-08 09:00:05,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-08 09:00:05,847 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-08 09:00:05,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-08 09:00:05,847 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-08 09:00:05,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1151274861] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:05,847 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:05,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 5, 5] total 16 [2022-04-08 09:00:05,848 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:05,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1441642806] [2022-04-08 09:00:05,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1441642806] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:05,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:05,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 09:00:05,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [51922506] [2022-04-08 09:00:05,848 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:05,848 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-08 09:00:05,849 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:05,849 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-08 09:00:05,881 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-08 09:00:05,881 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 09:00:05,881 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:05,881 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 09:00:05,882 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-08 09:00:05,882 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-08 09:00:06,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:06,624 INFO L93 Difference]: Finished difference Result 100 states and 121 transitions. [2022-04-08 09:00:06,625 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 09:00:06,625 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-08 09:00:06,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:06,625 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-08 09:00:06,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-08 09:00:06,626 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-08 09:00:06,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-08 09:00:06,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 99 transitions. [2022-04-08 09:00:06,703 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-08 09:00:06,704 INFO L225 Difference]: With dead ends: 100 [2022-04-08 09:00:06,704 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 09:00:06,704 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 126 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=173, Invalid=639, Unknown=0, NotChecked=0, Total=812 [2022-04-08 09:00:06,705 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-08 09:00:06,705 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-08 09:00:06,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 09:00:06,842 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 77. [2022-04-08 09:00:06,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:06,842 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-08 09:00:06,842 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-08 09:00:06,842 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-08 09:00:06,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:06,843 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 09:00:06,843 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 09:00:06,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:06,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:06,844 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-08 09:00:06,844 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-08 09:00:06,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:06,845 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 09:00:06,845 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 09:00:06,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:06,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:06,845 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:06,845 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:06,845 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-08 09:00:06,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 94 transitions. [2022-04-08 09:00:06,846 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 94 transitions. Word has length 65 [2022-04-08 09:00:06,846 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:06,846 INFO L478 AbstractCegarLoop]: Abstraction has 77 states and 94 transitions. [2022-04-08 09:00:06,846 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-08 09:00:06,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 94 transitions. [2022-04-08 09:00:06,980 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-08 09:00:06,980 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 94 transitions. [2022-04-08 09:00:06,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 09:00:06,981 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:06,981 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-08 09:00:06,997 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-08 09:00:07,181 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-08 09:00:07,181 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:07,182 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:07,182 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 27 times [2022-04-08 09:00:07,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:07,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1688906507] [2022-04-08 09:00:07,183 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:07,183 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:07,184 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 28 times [2022-04-08 09:00:07,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:07,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [179824448] [2022-04-08 09:00:07,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:07,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:07,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:07,222 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:07,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:07,228 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-08 09:00:07,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:07,229 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:07,231 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 09:00:07,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:07,291 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-08 09:00:07,292 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-08 09:00:07,292 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-08 09:00:07,292 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-08 09:00:07,293 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-08 09:00:07,293 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-08 09:00:07,293 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-08 09:00:07,293 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-08 09:00:07,294 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-08 09:00:07,294 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-08 09:00:07,294 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-08 09:00:07,294 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-08 09:00:07,295 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-08 09:00:07,295 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-08 09:00:07,295 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-08 09:00:07,295 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-08 09:00:07,296 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-08 09:00:07,296 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-08 09:00:07,296 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-08 09:00:07,297 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-08 09:00:07,297 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-08 09:00:07,297 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-08 09:00:07,297 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-08 09:00:07,298 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-08 09:00:07,298 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-08 09:00:07,298 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-08 09:00:07,298 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-08 09:00:07,299 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-08 09:00:07,299 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-08 09:00:07,299 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-08 09:00:07,299 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-08 09:00:07,300 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-08 09:00:07,300 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-08 09:00:07,300 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-08 09:00:07,300 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-08 09:00:07,301 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-08 09:00:07,301 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-08 09:00:07,301 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-08 09:00:07,301 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-08 09:00:07,302 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-08 09:00:07,302 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-08 09:00:07,302 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-08 09:00:07,302 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-08 09:00:07,303 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-08 09:00:07,303 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-08 09:00:07,303 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-08 09:00:07,304 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-08 09:00:07,304 INFO L290 TraceCheckUtils]: 47: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-08 09:00:07,304 INFO L290 TraceCheckUtils]: 48: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-08 09:00:07,305 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-08 09:00:07,305 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-08 09:00:07,306 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-08 09:00:07,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:07,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:07,307 INFO L272 TraceCheckUtils]: 4: Hoare triple {11707#(<= 5 ~n~0)} call #t~ret10 := main(); {11707#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:07,307 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-08 09:00:07,307 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-08 09:00:07,307 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-08 09:00:07,307 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-08 09:00:07,308 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-08 09:00:07,308 INFO L290 TraceCheckUtils]: 10: Hoare triple {11707#(<= 5 ~n~0)} assume !(~i~1 >= 0); {11707#(<= 5 ~n~0)} is VALID [2022-04-08 09:00:07,308 INFO L272 TraceCheckUtils]: 11: Hoare triple {11707#(<= 5 ~n~0)} call SelectionSort(); {11759#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:07,309 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-08 09:00:07,309 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-08 09:00:07,309 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-08 09:00:07,309 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-08 09:00:07,309 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-08 09:00:07,310 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-08 09:00:07,310 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-08 09:00:07,310 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-08 09:00:07,310 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-08 09:00:07,311 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-08 09:00:07,311 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-08 09:00:07,311 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-08 09:00:07,311 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-08 09:00:07,312 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-08 09:00:07,312 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-08 09:00:07,312 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-08 09:00:07,312 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-08 09:00:07,313 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-08 09:00:07,313 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-08 09:00:07,313 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-08 09:00:07,313 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-08 09:00:07,314 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-08 09:00:07,314 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-08 09:00:07,314 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-08 09:00:07,314 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-08 09:00:07,315 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-08 09:00:07,315 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-08 09:00:07,315 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-08 09:00:07,315 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-08 09:00:07,316 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-08 09:00:07,316 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-08 09:00:07,316 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-08 09:00:07,316 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-08 09:00:07,317 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-08 09:00:07,317 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-08 09:00:07,317 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-08 09:00:07,317 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-08 09:00:07,318 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-08 09:00:07,318 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-08 09:00:07,318 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-08 09:00:07,318 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-08 09:00:07,319 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-08 09:00:07,319 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-08 09:00:07,319 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-08 09:00:07,319 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-08 09:00:07,319 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-08 09:00:07,320 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-08 09:00:07,320 INFO L290 TraceCheckUtils]: 59: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-08 09:00:07,320 INFO L290 TraceCheckUtils]: 60: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-08 09:00:07,321 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-08 09:00:07,321 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-08 09:00:07,321 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-08 09:00:07,321 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-08 09:00:07,321 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-08 09:00:07,321 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-08 09:00:07,321 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-08 09:00:07,321 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-08 09:00:07,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:07,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [179824448] [2022-04-08 09:00:07,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [179824448] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:07,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1599098909] [2022-04-08 09:00:07,322 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:00:07,322 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:07,322 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:07,328 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-08 09:00:07,329 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-08 09:00:07,408 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:00:07,409 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:07,410 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 09:00:07,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:07,422 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:07,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-08 09:00:07,737 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-08 09:00:07,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-08 09:00:07,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-08 09:00:07,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-08 09:00:07,737 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-08 09:00:07,737 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-08 09:00:07,737 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-08 09:00:07,737 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-08 09:00:07,737 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-08 09:00:07,737 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-08 09:00:07,737 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-08 09:00:07,737 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-08 09:00:07,738 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-08 09:00:07,738 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-08 09:00:07,738 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-08 09:00:07,739 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-08 09:00:07,739 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-08 09:00:07,739 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-08 09:00:07,740 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-08 09:00:07,740 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-08 09:00:07,740 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-08 09:00:07,740 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-08 09:00:07,741 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-08 09:00:07,741 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-08 09:00:07,741 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-08 09:00:07,742 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-08 09:00:07,742 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-08 09:00:07,742 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-08 09:00:07,743 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-08 09:00:07,743 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-08 09:00:07,743 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-08 09:00:07,743 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-08 09:00:07,744 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-08 09:00:07,744 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-08 09:00:07,744 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-08 09:00:07,744 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-08 09:00:07,745 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-08 09:00:07,745 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-08 09:00:07,745 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-08 09:00:07,745 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-08 09:00:07,746 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-08 09:00:07,746 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-08 09:00:07,746 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-08 09:00:07,747 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-08 09:00:07,747 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-08 09:00:07,747 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-08 09:00:07,747 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-08 09:00:07,748 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-08 09:00:07,748 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-08 09:00:07,748 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-08 09:00:07,749 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-08 09:00:07,749 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-08 09:00:07,749 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-08 09:00:07,749 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-08 09:00:07,750 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-08 09:00:07,750 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-08 09:00:07,750 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-08 09:00:07,751 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-08 09:00:07,753 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-08 09:00:07,753 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-08 09:00:07,753 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-08 09:00:07,753 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-08 09:00:07,753 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-08 09:00:07,753 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-08 09:00:07,753 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-08 09:00:07,753 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-08 09:00:07,753 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-08 09:00:07,754 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-08 09:00:07,754 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:08,000 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-08 09:00:08,000 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-08 09:00:08,000 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-08 09:00:08,000 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-08 09:00:08,000 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-08 09:00:08,000 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-08 09:00:08,000 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-08 09:00:08,001 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-08 09:00:08,001 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-08 09:00:08,001 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-08 09:00:08,002 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-08 09:00:08,002 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-08 09:00:08,002 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-08 09:00:08,002 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-08 09:00:08,003 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-08 09:00:08,003 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-08 09:00:08,003 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-08 09:00:08,003 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-08 09:00:08,004 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-08 09:00:08,004 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-08 09:00:08,004 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-08 09:00:08,004 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-08 09:00:08,005 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-08 09:00:08,005 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-08 09:00:08,005 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-08 09:00:08,005 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-08 09:00:08,006 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-08 09:00:08,006 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-08 09:00:08,006 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-08 09:00:08,007 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-08 09:00:08,007 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-08 09:00:08,007 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-08 09:00:08,007 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-08 09:00:08,008 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-08 09:00:08,008 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-08 09:00:08,008 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-08 09:00:08,008 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-08 09:00:08,009 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-08 09:00:08,009 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-08 09:00:08,009 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-08 09:00:08,010 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-08 09:00:08,010 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-08 09:00:08,010 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-08 09:00:08,010 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-08 09:00:08,011 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-08 09:00:08,011 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-08 09:00:08,012 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-08 09:00:08,012 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-08 09:00:08,012 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-08 09:00:08,013 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-08 09:00:08,013 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-08 09:00:08,013 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-08 09:00:08,013 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-08 09:00:08,014 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-08 09:00:08,014 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-08 09:00:08,014 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-08 09:00:08,014 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-08 09:00:08,014 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-08 09:00:08,014 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-08 09:00:08,014 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-08 09:00:08,014 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-08 09:00:08,015 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-08 09:00:08,015 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-08 09:00:08,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-08 09:00:08,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-08 09:00:08,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-08 09:00:08,015 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-08 09:00:08,015 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-08 09:00:08,015 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-08 09:00:08,015 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1599098909] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:08,015 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:08,016 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-08 09:00:08,016 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:08,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1688906507] [2022-04-08 09:00:08,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1688906507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:08,016 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:08,016 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 09:00:08,016 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [788253301] [2022-04-08 09:00:08,016 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:08,016 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-08 09:00:08,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:08,017 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-08 09:00:08,048 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-08 09:00:08,048 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 09:00:08,048 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:08,049 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 09:00:08,049 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-08 09:00:08,049 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-08 09:00:08,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:08,687 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-08 09:00:08,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 09:00:08,687 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-08 09:00:08,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:08,687 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-08 09:00:08,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-08 09:00:08,688 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-08 09:00:08,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-08 09:00:08,689 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 88 transitions. [2022-04-08 09:00:08,761 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-08 09:00:08,762 INFO L225 Difference]: With dead ends: 104 [2022-04-08 09:00:08,763 INFO L226 Difference]: Without dead ends: 91 [2022-04-08 09:00:08,763 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 128 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=172, Invalid=698, Unknown=0, NotChecked=0, Total=870 [2022-04-08 09:00:08,764 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-08 09:00:08,764 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-08 09:00:08,764 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-08 09:00:08,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-08 09:00:08,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:08,912 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-08 09:00:08,913 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-08 09:00:08,913 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-08 09:00:08,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:08,916 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-08 09:00:08,916 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-08 09:00:08,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:08,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:08,916 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-08 09:00:08,916 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-08 09:00:08,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:08,917 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-08 09:00:08,918 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-08 09:00:08,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:08,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:08,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:08,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:08,919 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-08 09:00:08,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 102 transitions. [2022-04-08 09:00:08,921 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 102 transitions. Word has length 68 [2022-04-08 09:00:08,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:08,921 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 102 transitions. [2022-04-08 09:00:08,922 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-08 09:00:08,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 102 transitions. [2022-04-08 09:00:09,074 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-08 09:00:09,074 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 102 transitions. [2022-04-08 09:00:09,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-08 09:00:09,075 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:09,075 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-08 09:00:09,102 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-08 09:00:09,291 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-08 09:00:09,291 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:09,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:09,292 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 29 times [2022-04-08 09:00:09,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:09,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [974603256] [2022-04-08 09:00:09,294 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:09,294 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:09,294 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 30 times [2022-04-08 09:00:09,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:09,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [956798446] [2022-04-08 09:00:09,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:09,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:09,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:09,340 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:09,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:09,344 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-08 09:00:09,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 09:00:09,344 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 09:00:09,347 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 09:00:09,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:09,365 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,366 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-08 09:00:09,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 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-08 09:00:09,367 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,368 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-08 09:00:09,369 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-08 09:00:09,369 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-08 09:00:09,369 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,369 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-08 09:00:09,369 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-08 09:00:09,369 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-08 09:00:09,369 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,369 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-08 09:00:09,369 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-08 09:00:09,369 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,369 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 09:00:09,369 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 09:00:09,370 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-08 09:00:09,370 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-08 09:00:09,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 09:00:09,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 09:00:09,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-08 09:00:09,371 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-08 09:00:09,371 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-08 09:00:09,371 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-08 09:00:09,371 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-08 09:00:09,372 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-08 09:00:09,372 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-08 09:00:09,372 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12821#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:09,372 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-08 09:00:09,372 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-08 09:00:09,372 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-08 09:00:09,372 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-08 09:00:09,372 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,373 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,374 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-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 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-08 09:00:09,375 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,376 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-08 09:00:09,376 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-08 09:00:09,376 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,376 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 09:00:09,376 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 09:00:09,376 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-08 09:00:09,376 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-08 09:00:09,376 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-08 09:00:09,376 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-08 09:00:09,376 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-08 09:00:09,376 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-08 09:00:09,376 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-08 09:00:09,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:09,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [956798446] [2022-04-08 09:00:09,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [956798446] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:09,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1371771371] [2022-04-08 09:00:09,377 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 09:00:09,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:09,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:09,378 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-08 09:00:09,379 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-08 09:00:09,462 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 09:00:09,462 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:09,463 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 09:00:09,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:09,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:09,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-08 09:00:09,597 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-08 09:00:09,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 09:00:09,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 09:00:09,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-08 09:00:09,598 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-08 09:00:09,598 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-08 09:00:09,598 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-08 09:00:09,599 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-08 09:00:09,599 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-08 09:00:09,599 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-08 09:00:09,599 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12759#false} is VALID [2022-04-08 09:00:09,599 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 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-08 09:00:09,600 INFO L290 TraceCheckUtils]: 26: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 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-08 09:00:09,601 INFO L290 TraceCheckUtils]: 39: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 09:00:09,601 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 INFO L290 TraceCheckUtils]: 49: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,602 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-08 09:00:09,603 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-08 09:00:09,603 INFO L290 TraceCheckUtils]: 56: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 09:00:09,603 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-08 09:00:09,603 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-08 09:00:09,603 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-08 09:00:09,603 INFO L290 TraceCheckUtils]: 60: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 09:00:09,603 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-08 09:00:09,603 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-08 09:00:09,603 INFO L290 TraceCheckUtils]: 63: Hoare triple {12759#false} assume !(~lh~0 < ~n~0); {12759#false} is VALID [2022-04-08 09:00:09,603 INFO L290 TraceCheckUtils]: 64: Hoare triple {12759#false} assume true; {12759#false} is VALID [2022-04-08 09:00:09,603 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12759#false} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 09:00:09,603 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-08 09:00:09,603 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-08 09:00:09,603 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-08 09:00:09,604 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-08 09:00:09,604 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-08 09:00:09,604 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-08 09:00:09,604 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-08 09:00:09,604 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:09,733 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-08 09:00:09,733 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-08 09:00:09,733 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-08 09:00:09,733 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-08 09:00:09,733 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-08 09:00:09,734 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-08 09:00:09,734 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 09:00:09,734 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 09:00:09,734 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,734 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-08 09:00:09,734 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-08 09:00:09,734 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,734 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-08 09:00:09,734 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-08 09:00:09,734 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-08 09:00:09,734 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,734 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-08 09:00:09,734 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-08 09:00:09,734 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,735 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-08 09:00:09,736 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-08 09:00:09,736 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,736 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-08 09:00:09,737 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-08 09:00:09,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,737 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-08 09:00:09,738 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-08 09:00:09,738 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-08 09:00:09,738 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-08 09:00:09,738 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12758#true} is VALID [2022-04-08 09:00:09,738 INFO L290 TraceCheckUtils]: 10: Hoare triple {13221#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-08 09:00:09,743 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-08 09:00:09,744 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-08 09:00:09,744 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-08 09:00:09,744 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-08 09:00:09,745 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-08 09:00:09,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-08 09:00:09,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 09:00:09,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 09:00:09,745 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-08 09:00:09,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-08 09:00:09,745 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-08 09:00:09,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1371771371] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:09,746 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:09,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 9 [2022-04-08 09:00:09,746 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:09,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [974603256] [2022-04-08 09:00:09,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [974603256] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:09,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:09,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 09:00:09,746 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [183615828] [2022-04-08 09:00:09,746 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:09,746 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-08 09:00:09,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:09,747 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-08 09:00:09,764 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-08 09:00:09,764 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 09:00:09,765 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:09,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 09:00:09,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-08 09:00:09,765 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-08 09:00:10,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:10,147 INFO L93 Difference]: Finished difference Result 158 states and 196 transitions. [2022-04-08 09:00:10,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 09:00:10,148 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-08 09:00:10,148 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:10,148 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-08 09:00:10,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-08 09:00:10,149 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-08 09:00:10,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-08 09:00:10,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-04-08 09:00:10,197 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-08 09:00:10,198 INFO L225 Difference]: With dead ends: 158 [2022-04-08 09:00:10,198 INFO L226 Difference]: Without dead ends: 86 [2022-04-08 09:00:10,199 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-08 09:00:10,199 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-08 09:00:10,199 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-08 09:00:10,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-08 09:00:10,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 85. [2022-04-08 09:00:10,361 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:10,362 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-08 09:00:10,362 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-08 09:00:10,362 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-08 09:00:10,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:10,363 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-08 09:00:10,363 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-08 09:00:10,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:10,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:10,363 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-08 09:00:10,364 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-08 09:00:10,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:10,364 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-08 09:00:10,364 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-08 09:00:10,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:10,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:10,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:10,365 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:10,365 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-08 09:00:10,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 104 transitions. [2022-04-08 09:00:10,366 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 104 transitions. Word has length 72 [2022-04-08 09:00:10,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:10,366 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 104 transitions. [2022-04-08 09:00:10,366 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-08 09:00:10,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 104 transitions. [2022-04-08 09:00:10,507 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-08 09:00:10,507 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 104 transitions. [2022-04-08 09:00:10,508 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 09:00:10,508 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:10,508 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-08 09:00:10,524 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 09:00:10,716 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-08 09:00:10,718 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:10,719 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:10,719 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 31 times [2022-04-08 09:00:10,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:10,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1977484008] [2022-04-08 09:00:10,721 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:10,721 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:10,721 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 32 times [2022-04-08 09:00:10,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:10,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1286856338] [2022-04-08 09:00:10,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:10,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:10,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:10,770 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:10,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:10,773 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-08 09:00:10,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 09:00:10,774 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 09:00:10,777 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 09:00:10,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:10,795 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-08 09:00:10,795 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-08 09:00:10,795 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-08 09:00:10,795 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,796 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,797 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 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-08 09:00:10,798 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,798 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-08 09:00:10,799 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-08 09:00:10,799 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-08 09:00:10,799 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,799 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-08 09:00:10,799 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-08 09:00:10,799 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,799 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 09:00:10,799 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 09:00:10,800 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-08 09:00:10,800 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-08 09:00:10,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 09:00:10,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 09:00:10,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-08 09:00:10,800 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-08 09:00:10,801 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-08 09:00:10,801 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-08 09:00:10,801 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-08 09:00:10,801 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-08 09:00:10,802 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-08 09:00:10,802 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-08 09:00:10,802 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-08 09:00:10,802 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13988#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:10,802 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 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-08 09:00:10,803 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,804 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,804 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-08 09:00:10,804 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,805 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-08 09:00:10,806 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,806 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-08 09:00:10,806 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-08 09:00:10,806 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-08 09:00:10,806 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,806 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-08 09:00:10,806 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-08 09:00:10,806 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:10,806 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 09:00:10,806 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 09:00:10,806 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-08 09:00:10,806 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-08 09:00:10,806 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-08 09:00:10,807 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-08 09:00:10,807 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-08 09:00:10,807 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-08 09:00:10,807 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-08 09:00:10,807 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:10,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1286856338] [2022-04-08 09:00:10,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1286856338] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:10,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [431211166] [2022-04-08 09:00:10,807 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:00:10,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:10,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:10,808 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-08 09:00:10,810 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-08 09:00:10,893 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:00:10,893 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:10,894 INFO L263 TraceCheckSpWp]: Trace formula consists of 309 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 09:00:10,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:10,908 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:11,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-08 09:00:11,037 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-08 09:00:11,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 09:00:11,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 09:00:11,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-08 09:00:11,038 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-08 09:00:11,038 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-08 09:00:11,039 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-08 09:00:11,039 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-08 09:00:11,039 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-08 09:00:11,039 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-08 09:00:11,040 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-08 09:00:11,040 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-08 09:00:11,040 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13925#false} is VALID [2022-04-08 09:00:11,040 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-08 09:00:11,040 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 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-08 09:00:11,041 INFO L290 TraceCheckUtils]: 28: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 09:00:11,041 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,042 INFO L290 TraceCheckUtils]: 41: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 09:00:11,042 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-08 09:00:11,042 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 INFO L290 TraceCheckUtils]: 51: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,043 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-08 09:00:11,044 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-08 09:00:11,044 INFO L290 TraceCheckUtils]: 58: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 09:00:11,044 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-08 09:00:11,044 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-08 09:00:11,044 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-08 09:00:11,044 INFO L290 TraceCheckUtils]: 62: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 09:00:11,044 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-08 09:00:11,044 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-08 09:00:11,044 INFO L290 TraceCheckUtils]: 65: Hoare triple {13925#false} assume !(~lh~0 < ~n~0); {13925#false} is VALID [2022-04-08 09:00:11,044 INFO L290 TraceCheckUtils]: 66: Hoare triple {13925#false} assume true; {13925#false} is VALID [2022-04-08 09:00:11,044 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13925#false} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 09:00:11,044 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-08 09:00:11,045 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-08 09:00:11,045 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-08 09:00:11,045 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-08 09:00:11,045 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-08 09:00:11,045 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-08 09:00:11,045 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-08 09:00:11,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:11,176 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-08 09:00:11,176 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-08 09:00:11,176 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-08 09:00:11,176 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-08 09:00:11,176 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-08 09:00:11,176 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-08 09:00:11,176 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 09:00:11,176 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 09:00:11,177 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,177 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,177 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,177 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-08 09:00:11,178 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,178 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,179 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-08 09:00:11,180 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-08 09:00:11,180 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-08 09:00:11,180 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-08 09:00:11,180 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-08 09:00:11,180 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-08 09:00:11,180 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-08 09:00:11,180 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-08 09:00:11,180 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-08 09:00:11,180 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13924#true} is VALID [2022-04-08 09:00:11,181 INFO L290 TraceCheckUtils]: 12: Hoare triple {14394#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-08 09:00:11,181 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-08 09:00:11,183 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-08 09:00:11,183 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-08 09:00:11,183 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-08 09:00:11,184 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-08 09:00:11,184 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-08 09:00:11,185 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-08 09:00:11,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-08 09:00:11,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 09:00:11,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 09:00:11,185 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-08 09:00:11,185 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-08 09:00:11,185 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-08 09:00:11,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [431211166] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:11,185 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:11,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 9 [2022-04-08 09:00:11,186 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:11,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1977484008] [2022-04-08 09:00:11,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1977484008] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:11,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:11,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 09:00:11,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [532413104] [2022-04-08 09:00:11,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:11,186 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-08 09:00:11,186 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:11,186 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-08 09:00:11,209 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-08 09:00:11,210 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 09:00:11,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:11,210 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 09:00:11,210 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-08 09:00:11,210 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-08 09:00:11,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:11,597 INFO L93 Difference]: Finished difference Result 160 states and 198 transitions. [2022-04-08 09:00:11,597 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 09:00:11,597 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 74 [2022-04-08 09:00:11,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:11,597 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-08 09:00:11,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-08 09:00:11,598 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-08 09:00:11,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-08 09:00:11,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 73 transitions. [2022-04-08 09:00:11,655 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-08 09:00:11,657 INFO L225 Difference]: With dead ends: 160 [2022-04-08 09:00:11,657 INFO L226 Difference]: Without dead ends: 88 [2022-04-08 09:00:11,657 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-08 09:00:11,658 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-08 09:00:11,658 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-08 09:00:11,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-08 09:00:11,810 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-08 09:00:11,810 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:11,810 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-08 09:00:11,810 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-08 09:00:11,810 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-08 09:00:11,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:11,811 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-08 09:00:11,811 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-08 09:00:11,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:11,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:11,812 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-08 09:00:11,812 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-08 09:00:11,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:11,813 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-08 09:00:11,813 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-08 09:00:11,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:11,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:11,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:11,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:11,813 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-08 09:00:11,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 106 transitions. [2022-04-08 09:00:11,814 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 106 transitions. Word has length 74 [2022-04-08 09:00:11,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:11,814 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 106 transitions. [2022-04-08 09:00:11,815 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-08 09:00:11,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 106 transitions. [2022-04-08 09:00:11,996 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-08 09:00:11,996 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 106 transitions. [2022-04-08 09:00:11,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-08 09:00:11,996 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:11,997 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-08 09:00:12,013 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-08 09:00:12,197 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-08 09:00:12,197 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:12,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:12,197 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 33 times [2022-04-08 09:00:12,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:12,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [295622304] [2022-04-08 09:00:12,200 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:12,200 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:12,200 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 34 times [2022-04-08 09:00:12,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:12,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1719038899] [2022-04-08 09:00:12,200 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:12,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:12,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:12,417 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:12,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:12,420 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-08 09:00:12,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 09:00:12,420 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 09:00:12,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 09:00:12,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:12,443 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-08 09:00:12,443 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-08 09:00:12,443 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-08 09:00:12,443 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-08 09:00:12,443 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,444 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,445 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-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 INFO L290 TraceCheckUtils]: 37: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,446 INFO L290 TraceCheckUtils]: 44: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,446 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-08 09:00:12,446 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-08 09:00:12,447 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-08 09:00:12,447 INFO L290 TraceCheckUtils]: 48: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,447 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-08 09:00:12,447 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-08 09:00:12,447 INFO L290 TraceCheckUtils]: 51: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,447 INFO L290 TraceCheckUtils]: 52: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 09:00:12,447 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-08 09:00:12,448 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-08 09:00:12,448 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-08 09:00:12,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 09:00:12,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 09:00:12,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-08 09:00:12,452 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-08 09:00:12,453 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-08 09:00:12,453 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-08 09:00:12,454 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-08 09:00:12,454 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-08 09:00:12,454 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-08 09:00:12,454 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-08 09:00:12,455 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-08 09:00:12,455 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-08 09:00:12,455 INFO L290 TraceCheckUtils]: 14: Hoare triple {15125#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {15117#false} is VALID [2022-04-08 09:00:12,455 INFO L272 TraceCheckUtils]: 15: Hoare triple {15117#false} call SelectionSort(); {15181#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:12,455 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-08 09:00:12,455 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,456 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-08 09:00:12,456 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 INFO L290 TraceCheckUtils]: 43: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,457 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 INFO L290 TraceCheckUtils]: 53: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,458 INFO L290 TraceCheckUtils]: 60: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,458 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-08 09:00:12,458 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-08 09:00:12,459 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-08 09:00:12,459 INFO L290 TraceCheckUtils]: 64: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,459 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-08 09:00:12,459 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-08 09:00:12,459 INFO L290 TraceCheckUtils]: 67: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:12,459 INFO L290 TraceCheckUtils]: 68: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 09:00:12,459 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-08 09:00:12,459 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-08 09:00:12,459 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-08 09:00:12,459 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-08 09:00:12,459 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-08 09:00:12,459 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-08 09:00:12,459 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-08 09:00:12,460 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-08 09:00:12,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:12,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1719038899] [2022-04-08 09:00:12,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1719038899] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:12,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1623380230] [2022-04-08 09:00:12,460 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:00:12,460 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:12,460 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:12,476 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-08 09:00:12,477 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-08 09:00:12,566 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:00:12,566 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:12,568 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 09:00:12,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:12,585 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:13,275 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-08 09:00:13,276 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-08 09:00:13,519 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-08 09:00:13,519 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-08 09:00:13,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-08 09:00:13,601 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-08 09:00:13,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 09:00:13,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 09:00:13,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-08 09:00:13,601 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-08 09:00:13,601 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-08 09:00:13,601 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-08 09:00:13,601 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-08 09:00:13,601 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-08 09:00:13,601 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-08 09:00:13,602 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-08 09:00:13,602 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-08 09:00:13,602 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-08 09:00:13,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-08 09:00:13,602 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-08 09:00:13,602 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-08 09:00:13,603 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-08 09:00:13,603 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-08 09:00:13,604 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-08 09:00:13,604 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-08 09:00:13,604 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-08 09:00:13,605 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-08 09:00:13,605 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-08 09:00:13,606 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-08 09:00:13,606 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-08 09:00:13,606 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-08 09:00:13,606 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-08 09:00:13,607 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-08 09:00:13,607 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-08 09:00:13,607 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-08 09:00:13,607 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-08 09:00:13,608 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-08 09:00:13,608 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-08 09:00:13,609 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-08 09:00:13,609 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-08 09:00:13,610 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-08 09:00:13,610 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-08 09:00:13,611 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-08 09:00:13,612 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-08 09:00:13,612 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-08 09:00:13,613 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-08 09:00:13,613 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-08 09:00:13,614 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-08 09:00:13,615 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-08 09:00:13,616 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-08 09:00:13,616 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-08 09:00:13,617 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-08 09:00:13,617 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-08 09:00:13,618 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-08 09:00:13,618 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-08 09:00:13,619 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-08 09:00:13,619 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-08 09:00:13,619 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:13,619 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-08 09:00:13,619 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-08 09:00:13,619 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-08 09:00:13,619 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-08 09:00:13,619 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-08 09:00:13,619 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-08 09:00:13,619 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:13,620 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-08 09:00:13,620 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-08 09:00:13,620 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-08 09:00:13,620 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:13,620 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-08 09:00:13,620 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-08 09:00:13,620 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:13,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-08 09:00:13,620 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-08 09:00:13,620 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-08 09:00:13,620 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-08 09:00:13,620 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-08 09:00:13,620 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-08 09:00:13,621 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-08 09:00:13,621 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-08 09:00:13,621 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-08 09:00:13,621 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:15,319 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-08 09:00:15,466 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-08 09:00:15,466 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-08 09:00:17,341 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-08 09:00:17,341 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-08 09:00:17,341 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-08 09:00:17,341 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-08 09:00:17,341 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-08 09:00:17,342 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-08 09:00:17,342 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-08 09:00:17,342 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-08 09:00:17,342 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:17,342 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-08 09:00:17,342 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-08 09:00:17,342 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:17,342 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-08 09:00:17,342 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-08 09:00:17,342 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-08 09:00:17,342 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:17,342 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-08 09:00:17,342 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-08 09:00:17,342 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-08 09:00:17,343 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-08 09:00:17,343 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-08 09:00:17,343 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-08 09:00:17,343 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 09:00:17,343 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-08 09:00:17,343 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-08 09:00:17,344 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-08 09:00:17,344 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-08 09:00:17,345 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-08 09:00:17,345 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-08 09:00:17,346 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-08 09:00:17,347 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-08 09:00:17,348 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-08 09:00:17,348 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-08 09:00:17,349 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-08 09:00:17,350 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-08 09:00:17,351 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-08 09:00:17,353 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-08 09:00:17,354 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-08 09:00:17,355 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-08 09:00:17,358 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-08 09:00:17,360 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-08 09:00:17,362 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-08 09:00:17,362 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-08 09:00:17,362 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-08 09:00:17,362 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-08 09:00:17,362 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 09:00:17,362 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 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-08 09:00:17,363 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-08 09:00:17,364 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 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-08 09:00:17,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-08 09:00:17,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 09:00:17,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 09:00:17,364 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-08 09:00:17,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-08 09:00:17,365 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-08 09:00:17,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1623380230] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:17,365 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:17,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 21, 16] total 42 [2022-04-08 09:00:17,367 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:17,367 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [295622304] [2022-04-08 09:00:17,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [295622304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:17,367 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:17,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 09:00:17,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1262270760] [2022-04-08 09:00:17,367 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:17,368 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-08 09:00:17,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:17,368 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-08 09:00:17,387 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-08 09:00:17,387 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 09:00:17,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:17,388 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 09:00:17,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1580, Unknown=0, NotChecked=0, Total=1722 [2022-04-08 09:00:17,388 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-08 09:00:18,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:18,040 INFO L93 Difference]: Finished difference Result 177 states and 219 transitions. [2022-04-08 09:00:18,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 09:00:18,040 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-08 09:00:18,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:18,040 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-08 09:00:18,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-08 09:00:18,041 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-08 09:00:18,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-08 09:00:18,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 94 transitions. [2022-04-08 09:00:18,119 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-08 09:00:18,120 INFO L225 Difference]: With dead ends: 177 [2022-04-08 09:00:18,120 INFO L226 Difference]: Without dead ends: 105 [2022-04-08 09:00:18,121 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 123 SyntacticMatches, 0 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 607 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=201, Invalid=2151, Unknown=0, NotChecked=0, Total=2352 [2022-04-08 09:00:18,121 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 60 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 09:00:18,121 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.1s Time] [2022-04-08 09:00:18,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-08 09:00:18,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 89. [2022-04-08 09:00:18,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:18,307 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-08 09:00:18,307 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-08 09:00:18,307 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-08 09:00:18,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:18,309 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-08 09:00:18,309 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-08 09:00:18,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:18,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:18,309 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-08 09:00:18,309 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-08 09:00:18,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:18,310 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-08 09:00:18,310 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-08 09:00:18,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:18,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:18,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:18,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:18,311 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-08 09:00:18,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 108 transitions. [2022-04-08 09:00:18,312 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 108 transitions. Word has length 76 [2022-04-08 09:00:18,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:18,313 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 108 transitions. [2022-04-08 09:00:18,313 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-08 09:00:18,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 108 transitions. [2022-04-08 09:00:18,469 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-08 09:00:18,469 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-08 09:00:18,469 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-08 09:00:18,469 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:18,469 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-08 09:00:18,488 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-08 09:00:18,670 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-08 09:00:18,670 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:18,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:18,670 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 35 times [2022-04-08 09:00:18,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:18,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2117860178] [2022-04-08 09:00:18,672 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:18,672 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:18,672 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 36 times [2022-04-08 09:00:18,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:18,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [641398498] [2022-04-08 09:00:18,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:18,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:18,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:18,999 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:19,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:19,019 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-08 09:00:19,019 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-08 09:00:19,020 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-08 09:00:19,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:00:19,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:19,090 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-08 09:00:19,091 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-08 09:00:19,091 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-08 09:00:19,092 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-08 09:00:19,092 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-08 09:00:19,092 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-08 09:00:19,093 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-08 09:00:19,093 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-08 09:00:19,093 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-08 09:00:19,093 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-08 09:00:19,094 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-08 09:00:19,094 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-08 09:00:19,094 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-08 09:00:19,095 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-08 09:00:19,095 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-08 09:00:19,096 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-08 09:00:19,096 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-08 09:00:19,096 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-08 09:00:19,096 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-08 09:00:19,097 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-08 09:00:19,097 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-08 09:00:19,097 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-08 09:00:19,097 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-08 09:00:19,098 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-08 09:00:19,098 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-08 09:00:19,098 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-08 09:00:19,098 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-08 09:00:19,099 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-08 09:00:19,099 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-08 09:00:19,099 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-08 09:00:19,100 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-08 09:00:19,100 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-08 09:00:19,100 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-08 09:00:19,100 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-08 09:00:19,101 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-08 09:00:19,101 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-08 09:00:19,101 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-08 09:00:19,101 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-08 09:00:19,102 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-08 09:00:19,102 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-08 09:00:19,102 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-08 09:00:19,103 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-08 09:00:19,103 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-08 09:00:19,103 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-08 09:00:19,103 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-08 09:00:19,104 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-08 09:00:19,104 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-08 09:00:19,104 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-08 09:00:19,105 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-08 09:00:19,105 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-08 09:00:19,105 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-08 09:00:19,106 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-08 09:00:19,106 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-08 09:00:19,106 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-08 09:00:19,107 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-08 09:00:19,108 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-08 09:00:19,108 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-08 09:00:19,108 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-08 09:00:19,108 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-08 09:00:19,109 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-08 09:00:19,109 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-08 09:00:19,110 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-08 09:00:19,110 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-08 09:00:19,110 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-08 09:00:19,111 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-08 09:00:19,111 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-08 09:00:19,111 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-08 09:00:19,112 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-08 09:00:19,112 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-08 09:00:19,113 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-08 09:00:19,113 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-08 09:00:19,114 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-08 09:00:19,114 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-08 09:00:19,114 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-08 09:00:19,115 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-08 09:00:19,115 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-08 09:00:19,115 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-08 09:00:19,116 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-08 09:00:19,116 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-08 09:00:19,116 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-08 09:00:19,117 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-08 09:00:19,117 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-08 09:00:19,117 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-08 09:00:19,118 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-08 09:00:19,118 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-08 09:00:19,118 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-08 09:00:19,118 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-08 09:00:19,119 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-08 09:00:19,121 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-08 09:00:19,121 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-08 09:00:19,121 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-08 09:00:19,121 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-08 09:00:19,122 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-08 09:00:19,122 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-08 09:00:19,122 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-08 09:00:19,122 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-08 09:00:19,123 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-08 09:00:19,123 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-08 09:00:19,123 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-08 09:00:19,123 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-08 09:00:19,124 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-08 09:00:19,124 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-08 09:00:19,124 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-08 09:00:19,125 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-08 09:00:19,125 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-08 09:00:19,125 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-08 09:00:19,125 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-08 09:00:19,126 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-08 09:00:19,126 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-08 09:00:19,126 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-08 09:00:19,127 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-08 09:00:19,127 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-08 09:00:19,127 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-08 09:00:19,127 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-08 09:00:19,128 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-08 09:00:19,128 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-08 09:00:19,128 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-08 09:00:19,128 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-08 09:00:19,129 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-08 09:00:19,129 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-08 09:00:19,129 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-08 09:00:19,130 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-08 09:00:19,130 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-08 09:00:19,130 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-08 09:00:19,130 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-08 09:00:19,131 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-08 09:00:19,131 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-08 09:00:19,132 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-08 09:00:19,132 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-08 09:00:19,133 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-08 09:00:19,133 INFO L290 TraceCheckUtils]: 76: Hoare triple {16498#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {16428#false} is VALID [2022-04-08 09:00:19,133 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-08 09:00:19,133 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-08 09:00:19,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:19,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [641398498] [2022-04-08 09:00:19,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [641398498] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:19,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [976742134] [2022-04-08 09:00:19,134 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 09:00:19,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:19,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:19,135 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-08 09:00:19,159 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-08 09:00:19,303 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-08 09:00:19,304 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:19,306 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 09:00:19,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:19,324 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:19,357 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:00:19,358 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-08 09:00:19,525 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-08 09:00:20,322 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-08 09:00:20,523 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-08 09:00:20,523 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-08 09:00:20,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {16427#true} call ULTIMATE.init(); {16427#true} is VALID [2022-04-08 09:00:20,661 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-08 09:00:20,661 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-08 09:00:20,662 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-08 09:00:20,662 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-08 09:00:20,663 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-08 09:00:20,663 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-08 09:00:20,663 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-08 09:00:20,664 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-08 09:00:20,664 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-08 09:00:20,664 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-08 09:00:20,665 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-08 09:00:20,665 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-08 09:00:20,665 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-08 09:00:20,666 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-08 09:00:20,667 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-08 09:00:20,668 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-08 09:00:20,669 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-08 09:00:20,669 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-08 09:00:20,669 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-08 09:00:20,670 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-08 09:00:20,670 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-08 09:00:20,670 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-08 09:00:20,671 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-08 09:00:20,671 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-08 09:00:20,671 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-08 09:00:20,672 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-08 09:00:20,672 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-08 09:00:20,673 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-08 09:00:20,673 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-08 09:00:20,673 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-08 09:00:20,674 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-08 09:00:20,674 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-08 09:00:20,675 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-08 09:00:20,676 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-08 09:00:20,677 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-08 09:00:20,677 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-08 09:00:20,679 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-08 09:00:20,680 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-08 09:00:20,680 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-08 09:00:20,681 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-08 09:00:20,681 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-08 09:00:20,682 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-08 09:00:20,682 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-08 09:00:20,683 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-08 09:00:20,683 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-08 09:00:20,685 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-08 09:00:20,685 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-08 09:00:20,686 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-08 09:00:20,693 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-08 09:00:20,694 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-08 09:00:20,694 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-08 09:00:20,695 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-08 09:00:20,696 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-08 09:00:20,696 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-08 09:00:20,697 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-08 09:00:20,698 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-08 09:00:20,699 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-08 09:00:20,699 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-08 09:00:20,700 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-08 09:00:20,710 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-08 09:00:20,711 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-08 09:00:20,711 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-08 09:00:20,713 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-08 09:00:20,714 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-08 09:00:20,714 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-08 09:00:20,715 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-08 09:00:20,716 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-08 09:00:20,716 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-08 09:00:20,717 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-08 09:00:20,717 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-08 09:00:20,719 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-08 09:00:20,719 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-08 09:00:20,721 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-08 09:00:20,721 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-08 09:00:20,722 INFO L290 TraceCheckUtils]: 75: Hoare triple {16736#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16740#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:00:20,722 INFO L290 TraceCheckUtils]: 76: Hoare triple {16740#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16428#false} is VALID [2022-04-08 09:00:20,722 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-08 09:00:20,723 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-08 09:00:20,723 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:20,851 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-08 09:00:20,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [976742134] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:20,852 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:00:20,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 29 [2022-04-08 09:00:20,852 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:20,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2117860178] [2022-04-08 09:00:20,853 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2117860178] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:20,853 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:20,853 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 09:00:20,853 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1875684861] [2022-04-08 09:00:20,853 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:20,853 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-08 09:00:20,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:20,853 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-08 09:00:20,881 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-08 09:00:20,881 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 09:00:20,881 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:20,882 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 09:00:20,882 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=826, Unknown=7, NotChecked=58, Total=992 [2022-04-08 09:00:20,882 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-08 09:00:22,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:22,574 INFO L93 Difference]: Finished difference Result 112 states and 134 transitions. [2022-04-08 09:00:22,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 09:00:22,575 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-08 09:00:22,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:22,575 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-08 09:00:22,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-08 09:00:22,576 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-08 09:00:22,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-08 09:00:22,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 75 transitions. [2022-04-08 09:00:22,650 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-08 09:00:22,651 INFO L225 Difference]: With dead ends: 112 [2022-04-08 09:00:22,651 INFO L226 Difference]: Without dead ends: 110 [2022-04-08 09:00:22,652 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 51 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 676 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=403, Invalid=2240, Unknown=13, NotChecked=100, Total=2756 [2022-04-08 09:00:22,652 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-08 09:00:22,652 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-08 09:00:22,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-08 09:00:22,837 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 95. [2022-04-08 09:00:22,837 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:22,837 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-08 09:00:22,838 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-08 09:00:22,838 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-08 09:00:22,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:22,839 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-08 09:00:22,839 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-08 09:00:22,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:22,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:22,840 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-08 09:00:22,840 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-08 09:00:22,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:22,841 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-08 09:00:22,841 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-08 09:00:22,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:22,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:22,842 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:22,842 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:22,842 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-08 09:00:22,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 114 transitions. [2022-04-08 09:00:22,844 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 114 transitions. Word has length 78 [2022-04-08 09:00:22,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:22,844 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 114 transitions. [2022-04-08 09:00:22,844 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-08 09:00:22,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 114 transitions. [2022-04-08 09:00:23,027 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-08 09:00:23,027 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-04-08 09:00:23,028 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 09:00:23,028 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:23,028 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-08 09:00:23,049 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-08 09:00:23,228 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-08 09:00:23,229 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:23,229 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:23,229 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 1 times [2022-04-08 09:00:23,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:23,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2036118378] [2022-04-08 09:00:23,231 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:23,231 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:23,231 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 2 times [2022-04-08 09:00:23,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:23,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1513251340] [2022-04-08 09:00:23,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:23,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:23,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:23,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:23,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:23,716 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-08 09:00:23,717 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-08 09:00:23,717 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-08 09:00:23,728 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:00:23,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:23,804 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-08 09:00:23,805 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-08 09:00:23,805 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-08 09:00:23,805 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-08 09:00:23,806 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-08 09:00:23,806 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-08 09:00:23,806 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-08 09:00:23,807 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-08 09:00:23,807 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-08 09:00:23,807 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-08 09:00:23,808 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-08 09:00:23,808 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-08 09:00:23,808 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-08 09:00:23,809 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-08 09:00:23,809 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-08 09:00:23,809 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-08 09:00:23,810 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-08 09:00:23,810 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-08 09:00:23,810 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-08 09:00:23,811 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-08 09:00:23,811 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-08 09:00:23,811 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-08 09:00:23,811 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-08 09:00:23,812 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-08 09:00:23,812 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-08 09:00:23,812 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-08 09:00:23,812 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-08 09:00:23,813 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-08 09:00:23,813 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-08 09:00:23,813 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-08 09:00:23,814 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-08 09:00:23,814 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-08 09:00:23,814 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-08 09:00:23,814 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-08 09:00:23,815 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-08 09:00:23,815 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-08 09:00:23,815 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-08 09:00:23,816 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-08 09:00:23,816 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-08 09:00:23,816 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-08 09:00:23,817 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-08 09:00:23,817 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-08 09:00:23,817 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-08 09:00:23,817 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-08 09:00:23,818 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-08 09:00:23,818 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-08 09:00:23,818 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-08 09:00:23,819 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-08 09:00:23,819 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-08 09:00:23,819 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-08 09:00:23,820 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-08 09:00:23,820 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-08 09:00:23,820 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-08 09:00:23,821 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-08 09:00:23,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:00:23,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:23,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-08 09:00:23,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-08 09:00:23,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-08 09:00:23,825 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-08 09:00:23,825 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-08 09:00:23,826 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-08 09:00:23,826 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-08 09:00:23,827 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-08 09:00:23,827 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-08 09:00:23,827 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-08 09:00:23,828 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-08 09:00:23,828 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-08 09:00:23,829 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-08 09:00:23,829 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-08 09:00:23,830 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-08 09:00:23,830 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-08 09:00:23,831 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-08 09:00:23,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {17456#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17457#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (not (= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:00:23,832 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-08 09:00:23,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:00:23,833 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-08 09:00:23,833 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-08 09:00:23,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:23,834 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-08 09:00:23,834 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-08 09:00:23,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:23,835 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-08 09:00:23,835 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-08 09:00:23,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:23,836 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-08 09:00:23,836 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-08 09:00:23,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:23,837 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-08 09:00:23,837 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-08 09:00:23,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:23,838 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-08 09:00:23,838 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-08 09:00:23,839 INFO L290 TraceCheckUtils]: 33: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,839 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-08 09:00:23,839 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-08 09:00:23,839 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-08 09:00:23,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,840 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-08 09:00:23,840 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-08 09:00:23,840 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-08 09:00:23,841 INFO L290 TraceCheckUtils]: 41: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,841 INFO L290 TraceCheckUtils]: 42: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,841 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-08 09:00:23,841 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-08 09:00:23,842 INFO L290 TraceCheckUtils]: 45: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,842 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-08 09:00:23,842 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-08 09:00:23,843 INFO L290 TraceCheckUtils]: 48: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,843 INFO L290 TraceCheckUtils]: 49: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,843 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-08 09:00:23,843 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-08 09:00:23,843 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-08 09:00:23,844 INFO L290 TraceCheckUtils]: 53: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,844 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-08 09:00:23,844 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-08 09:00:23,845 INFO L290 TraceCheckUtils]: 56: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,845 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-08 09:00:23,845 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-08 09:00:23,845 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-08 09:00:23,846 INFO L290 TraceCheckUtils]: 60: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,846 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-08 09:00:23,846 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-08 09:00:23,847 INFO L290 TraceCheckUtils]: 63: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,847 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-08 09:00:23,847 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-08 09:00:23,847 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-08 09:00:23,848 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-08 09:00:23,848 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-08 09:00:23,848 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-08 09:00:23,849 INFO L290 TraceCheckUtils]: 70: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-08 09:00:23,849 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-08 09:00:23,850 INFO L290 TraceCheckUtils]: 72: Hoare triple {17513#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1))} ~i~1 := 0; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-08 09:00:23,850 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-08 09:00:23,850 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-08 09:00:23,850 INFO L290 TraceCheckUtils]: 75: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-08 09:00:23,850 INFO L290 TraceCheckUtils]: 76: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-08 09:00:23,850 INFO L290 TraceCheckUtils]: 77: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-08 09:00:23,851 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {17446#true} {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #93#return; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-08 09:00:23,851 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-08 09:00:23,852 INFO L290 TraceCheckUtils]: 80: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {17519#(and (= |main_~#array~1.offset| 0) (= main_~i~1 1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-08 09:00:23,852 INFO L290 TraceCheckUtils]: 81: Hoare triple {17519#(and (= |main_~#array~1.offset| 0) (= main_~i~1 1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} is VALID [2022-04-08 09:00:23,852 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-08 09:00:23,853 INFO L290 TraceCheckUtils]: 83: Hoare triple {17521#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {17522#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 09:00:23,853 INFO L290 TraceCheckUtils]: 84: Hoare triple {17522#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {17447#false} is VALID [2022-04-08 09:00:23,853 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-08 09:00:23,853 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-08 09:00:23,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:23,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1513251340] [2022-04-08 09:00:23,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1513251340] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:23,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1696378485] [2022-04-08 09:00:23,854 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:00:23,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:23,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:23,855 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 09:00:23,856 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-08 09:00:23,970 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:00:23,970 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:23,972 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 09:00:23,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:23,988 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:24,033 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:00:24,033 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-08 09:00:24,174 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-08 09:00:24,272 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:00:24,272 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-08 09:00:24,822 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-08 09:00:25,243 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:00:25,244 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-08 09:00:25,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {17446#true} call ULTIMATE.init(); {17446#true} is VALID [2022-04-08 09:00:25,310 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-08 09:00:25,311 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-08 09:00:25,311 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-08 09:00:25,311 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-08 09:00:25,312 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-08 09:00:25,312 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-08 09:00:25,313 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-08 09:00:25,313 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-08 09:00:25,313 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-08 09:00:25,314 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-08 09:00:25,314 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-08 09:00:25,315 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-08 09:00:25,315 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-08 09:00:25,316 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-08 09:00:25,316 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-08 09:00:25,316 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-08 09:00:25,317 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-08 09:00:25,318 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-08 09:00:25,318 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-08 09:00:25,319 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-08 09:00:25,319 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-08 09:00:25,319 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-08 09:00:25,321 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-08 09:00:25,321 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-08 09:00:25,321 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-08 09:00:25,322 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-08 09:00:25,322 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-08 09:00:25,322 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-08 09:00:25,323 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-08 09:00:25,323 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-08 09:00:25,324 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-08 09:00:25,324 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-08 09:00:25,325 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-08 09:00:25,325 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-08 09:00:25,326 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-08 09:00:25,326 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-08 09:00:25,326 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-08 09:00:25,327 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-08 09:00:25,327 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-08 09:00:25,328 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-08 09:00:25,328 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-08 09:00:25,329 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-08 09:00:25,329 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-08 09:00:25,329 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-08 09:00:25,330 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-08 09:00:25,332 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-08 09:00:25,332 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-08 09:00:25,333 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-08 09:00:25,333 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-08 09:00:25,334 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-08 09:00:25,334 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-08 09:00:25,334 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-08 09:00:25,335 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-08 09:00:25,335 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-08 09:00:25,336 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-08 09:00:25,337 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-08 09:00:25,338 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-08 09:00:25,338 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-08 09:00:25,339 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-08 09:00:25,339 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-08 09:00:25,340 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-08 09:00:25,340 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-08 09:00:25,341 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-08 09:00:25,342 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-08 09:00:25,342 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-08 09:00:25,343 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-08 09:00:25,351 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-08 09:00:25,351 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-08 09:00:25,352 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-08 09:00:25,352 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-08 09:00:25,353 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-08 09:00:25,353 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-08 09:00:25,354 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-08 09:00:25,355 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-08 09:00:25,355 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-08 09:00:25,359 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-08 09:00:25,359 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-08 09:00:25,360 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-08 09:00:25,361 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-08 09:00:25,361 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-08 09:00:25,361 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-08 09:00:25,362 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-08 09:00:25,362 INFO L290 TraceCheckUtils]: 83: Hoare triple {17789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:00:25,363 INFO L290 TraceCheckUtils]: 84: Hoare triple {17793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17447#false} is VALID [2022-04-08 09:00:25,363 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-08 09:00:25,364 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-08 09:00:25,364 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:25,562 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-08 09:00:25,563 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1696378485] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:25,564 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:00:25,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 35 [2022-04-08 09:00:25,564 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:25,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2036118378] [2022-04-08 09:00:25,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2036118378] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:25,564 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:25,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 09:00:25,564 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1164576767] [2022-04-08 09:00:25,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:25,564 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-08 09:00:25,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:25,565 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-08 09:00:25,601 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-08 09:00:25,601 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 09:00:25,601 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:25,601 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 09:00:25,602 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=1348, Unknown=11, NotChecked=74, Total=1560 [2022-04-08 09:00:25,602 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-08 09:00:28,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:28,497 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2022-04-08 09:00:28,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 09:00:28,497 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-08 09:00:28,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:28,497 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-08 09:00:28,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-08 09:00:28,498 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-08 09:00:28,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-08 09:00:28,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 88 transitions. [2022-04-08 09:00:28,599 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-08 09:00:28,600 INFO L225 Difference]: With dead ends: 126 [2022-04-08 09:00:28,600 INFO L226 Difference]: Without dead ends: 124 [2022-04-08 09:00:28,601 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 83 SyntacticMatches, 8 SemanticMatches, 58 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 698 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=378, Invalid=3031, Unknown=17, NotChecked=114, Total=3540 [2022-04-08 09:00:28,601 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 132 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 737 mSolverCounterSat, 128 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 132 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 865 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 128 IncrementalHoareTripleChecker+Valid, 737 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 09:00:28,601 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [132 Valid, 47 Invalid, 865 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [128 Valid, 737 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 09:00:28,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-08 09:00:28,896 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 103. [2022-04-08 09:00:28,896 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:28,896 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-08 09:00:28,896 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-08 09:00:28,896 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-08 09:00:28,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:28,898 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-08 09:00:28,898 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-08 09:00:28,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:28,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:28,898 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-08 09:00:28,898 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-08 09:00:28,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:28,900 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-08 09:00:28,900 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-08 09:00:28,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:28,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:28,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:28,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:28,900 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-08 09:00:28,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-08 09:00:28,902 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 86 [2022-04-08 09:00:28,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:28,902 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-08 09:00:28,902 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-08 09:00:28,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 122 transitions. [2022-04-08 09:00:29,111 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-08 09:00:29,111 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-08 09:00:29,111 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 09:00:29,111 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:29,112 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-08 09:00:29,133 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-08 09:00:29,312 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-08 09:00:29,312 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:29,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:29,312 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 3 times [2022-04-08 09:00:29,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:29,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [412878811] [2022-04-08 09:00:29,314 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:29,314 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:29,314 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 4 times [2022-04-08 09:00:29,315 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:29,315 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1265980166] [2022-04-08 09:00:29,315 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:29,315 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:29,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:29,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:29,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:29,465 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-08 09:00:29,465 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-08 09:00:29,465 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-08 09:00:29,468 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:00:29,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:30,212 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-08 09:00:30,212 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-08 09:00:30,213 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-08 09:00:30,214 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-08 09:00:30,214 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-08 09:00:30,215 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-08 09:00:30,215 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-08 09:00:30,216 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-08 09:00:30,216 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-08 09:00:30,217 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-08 09:00:30,218 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-08 09:00:30,219 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-08 09:00:30,219 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-08 09:00:30,220 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-08 09:00:30,221 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-08 09:00:30,222 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-08 09:00:30,223 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-08 09:00:30,224 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-08 09:00:30,225 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-08 09:00:30,225 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-08 09:00:30,226 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-08 09:00:30,227 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-08 09:00:30,227 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-08 09:00:30,228 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-08 09:00:30,229 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-08 09:00:30,229 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-08 09:00:30,229 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-08 09:00:30,229 INFO L290 TraceCheckUtils]: 27: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,229 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 INFO L290 TraceCheckUtils]: 37: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,230 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-08 09:00:30,231 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-08 09:00:30,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,231 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-08 09:00:30,231 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-08 09:00:30,231 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-08 09:00:30,231 INFO L290 TraceCheckUtils]: 48: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,231 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-08 09:00:30,231 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-08 09:00:30,231 INFO L290 TraceCheckUtils]: 51: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,231 INFO L290 TraceCheckUtils]: 52: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 09:00:30,231 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-08 09:00:30,232 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:00:30,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:30,234 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 09:00:30,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 09:00:30,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:30,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:30,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:00:30,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:30,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 09:00:30,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 09:00:30,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:30,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:30,239 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-08 09:00:30,240 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-08 09:00:30,240 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-08 09:00:30,249 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-08 09:00:30,250 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-08 09:00:30,250 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-08 09:00:30,251 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-08 09:00:30,251 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-08 09:00:30,251 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-08 09:00:30,252 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-08 09:00:30,252 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-08 09:00:30,252 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-08 09:00:30,253 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-08 09:00:30,253 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-08 09:00:30,254 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-08 09:00:30,254 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-08 09:00:30,254 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-08 09:00:30,255 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-08 09:00:30,255 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-08 09:00:30,255 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-08 09:00:30,256 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-08 09:00:30,256 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-08 09:00:30,257 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-08 09:00:30,258 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-08 09:00:30,258 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-08 09:00:30,259 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-08 09:00:30,259 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-08 09:00:30,260 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-08 09:00:30,261 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-08 09:00:30,261 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-08 09:00:30,262 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-08 09:00:30,263 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-08 09:00:30,263 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-08 09:00:30,265 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-08 09:00:30,265 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-08 09:00:30,266 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-08 09:00:30,267 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-08 09:00:30,268 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-08 09:00:30,268 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-08 09:00:30,269 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-08 09:00:30,270 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-08 09:00:30,271 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-08 09:00:30,271 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 INFO L290 TraceCheckUtils]: 45: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 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-08 09:00:30,272 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,273 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-08 09:00:30,273 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-08 09:00:30,273 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-08 09:00:30,273 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-08 09:00:30,273 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-08 09:00:30,273 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-08 09:00:30,273 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,275 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-08 09:00:30,275 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-08 09:00:30,275 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-08 09:00:30,276 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,279 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-08 09:00:30,279 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-08 09:00:30,279 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:30,279 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 09:00:30,279 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-08 09:00:30,279 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-08 09:00:30,279 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-08 09:00:30,279 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-08 09:00:30,280 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 09:00:30,280 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 09:00:30,280 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:30,280 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:30,280 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 09:00:30,280 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-08 09:00:30,280 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-08 09:00:30,280 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-08 09:00:30,280 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 09:00:30,280 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 09:00:30,280 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:30,280 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:30,280 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 09:00:30,280 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-08 09:00:30,280 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-08 09:00:30,281 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-08 09:00:30,281 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 09:00:30,281 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-08 09:00:30,281 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-08 09:00:30,281 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-08 09:00:30,281 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:30,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1265980166] [2022-04-08 09:00:30,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1265980166] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:30,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1883015997] [2022-04-08 09:00:30,282 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:00:30,282 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:30,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:30,283 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-08 09:00:30,283 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-08 09:00:30,385 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:00:30,385 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:30,387 INFO L263 TraceCheckSpWp]: Trace formula consists of 300 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 09:00:30,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:30,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:31,218 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-08 09:00:31,218 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-08 09:00:31,533 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-08 09:00:31,533 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-08 09:00:31,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-08 09:00:31,634 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-08 09:00:31,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:31,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-08 09:00:31,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-08 09:00:31,634 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-08 09:00:31,634 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-08 09:00:31,634 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-08 09:00:31,634 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-08 09:00:31,634 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-08 09:00:31,634 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-08 09:00:31,634 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-08 09:00:31,634 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-08 09:00:31,635 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-08 09:00:31,635 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-08 09:00:31,635 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-08 09:00:31,635 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-08 09:00:31,635 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-08 09:00:31,635 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-08 09:00:31,635 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-08 09:00:31,636 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-08 09:00:31,636 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-08 09:00:31,637 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-08 09:00:31,637 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-08 09:00:31,637 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-08 09:00:31,638 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-08 09:00:31,638 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-08 09:00:31,638 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-08 09:00:31,639 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-08 09:00:31,639 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-08 09:00:31,639 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-08 09:00:31,640 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-08 09:00:31,640 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-08 09:00:31,640 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-08 09:00:31,640 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-08 09:00:31,641 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-08 09:00:31,641 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-08 09:00:31,642 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-08 09:00:31,642 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-08 09:00:31,643 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-08 09:00:31,644 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-08 09:00:31,644 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-08 09:00:31,645 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-08 09:00:31,645 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-08 09:00:31,646 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-08 09:00:31,646 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-08 09:00:31,648 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-08 09:00:31,648 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-08 09:00:31,649 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-08 09:00:31,649 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-08 09:00:31,650 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-08 09:00:31,651 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-08 09:00:31,651 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-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 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-08 09:00:31,652 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:31,653 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-08 09:00:31,653 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-08 09:00:31,653 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:31,653 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 09:00:31,653 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-08 09:00:31,653 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-08 09:00:31,653 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-08 09:00:31,653 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-08 09:00:31,653 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 09:00:31,653 INFO L290 TraceCheckUtils]: 76: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-08 09:00:31,653 INFO L290 TraceCheckUtils]: 77: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 09:00:31,653 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:31,653 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 09:00:31,653 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-08 09:00:31,654 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-08 09:00:31,654 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-08 09:00:31,654 INFO L290 TraceCheckUtils]: 83: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 09:00:31,654 INFO L290 TraceCheckUtils]: 84: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-08 09:00:31,654 INFO L290 TraceCheckUtils]: 85: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 09:00:31,654 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:31,654 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 09:00:31,654 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-08 09:00:31,654 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-08 09:00:31,654 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-08 09:00:31,654 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 09:00:31,654 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-08 09:00:31,654 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-08 09:00:31,655 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-08 09:00:31,655 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:33,571 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-08 09:00:33,706 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-08 09:00:33,707 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-08 09:00:35,140 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-08 09:00:35,141 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-08 09:00:35,141 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 09:00:35,141 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-08 09:00:35,141 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-08 09:00:35,141 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-08 09:00:35,141 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 09:00:35,141 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:35,141 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:35,141 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 09:00:35,141 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 09:00:35,141 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-08 09:00:35,141 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-08 09:00:35,141 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-08 09:00:35,142 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 09:00:35,142 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 09:00:35,142 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:35,142 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 09:00:35,142 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 09:00:35,142 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-08 09:00:35,142 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-08 09:00:35,142 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-08 09:00:35,142 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-08 09:00:35,142 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 09:00:35,142 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:35,142 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-08 09:00:35,142 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-08 09:00:35,142 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:35,143 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-08 09:00:35,143 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-08 09:00:35,143 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-08 09:00:35,143 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:35,143 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-08 09:00:35,143 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-08 09:00:35,143 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-08 09:00:35,143 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-08 09:00:35,143 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-08 09:00:35,143 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-08 09:00:35,143 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 09:00:35,143 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-08 09:00:35,144 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-08 09:00:35,151 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-08 09:00:35,152 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-08 09:00:35,153 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-08 09:00:35,153 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-08 09:00:35,155 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-08 09:00:35,156 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-08 09:00:35,157 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-08 09:00:35,158 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-08 09:00:35,158 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-08 09:00:35,159 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-08 09:00:35,160 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-08 09:00:35,163 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-08 09:00:35,164 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-08 09:00:35,164 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-08 09:00:35,168 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-08 09:00:35,169 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-08 09:00:35,173 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-08 09:00:35,174 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-08 09:00:35,174 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-08 09:00:35,174 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-08 09:00:35,174 INFO L290 TraceCheckUtils]: 32: Hoare triple {18596#true} assume !(~i~0 < ~n~0); {18596#true} is VALID [2022-04-08 09:00:35,174 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-08 09:00:35,174 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-08 09:00:35,174 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-08 09:00:35,174 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-08 09:00:35,174 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-08 09:00:35,174 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-08 09:00:35,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,175 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-08 09:00:35,176 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-08 09:00:35,176 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-08 09:00:35,176 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-08 09:00:35,176 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-08 09:00:35,176 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-08 09:00:35,176 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-08 09:00:35,176 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-08 09:00:35,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-08 09:00:35,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-08 09:00:35,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 09:00:35,176 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-08 09:00:35,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-08 09:00:35,177 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-08 09:00:35,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1883015997] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:00:35,177 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:00:35,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 21, 16] total 59 [2022-04-08 09:00:35,177 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:35,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [412878811] [2022-04-08 09:00:35,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [412878811] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:35,177 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:35,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-08 09:00:35,178 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [632020840] [2022-04-08 09:00:35,178 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:35,178 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-08 09:00:35,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:35,178 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-08 09:00:35,223 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-08 09:00:35,224 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-08 09:00:35,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:35,224 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-08 09:00:35,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=278, Invalid=3144, Unknown=0, NotChecked=0, Total=3422 [2022-04-08 09:00:35,225 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-08 09:00:44,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:44,773 INFO L93 Difference]: Finished difference Result 410 states and 529 transitions. [2022-04-08 09:00:44,773 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2022-04-08 09:00:44,773 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-08 09:00:44,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:00:44,773 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-08 09:00:44,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-08 09:00:44,776 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-08 09:00:44,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-08 09:00:44,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 188 transitions. [2022-04-08 09:00:45,034 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-08 09:00:45,048 INFO L225 Difference]: With dead ends: 410 [2022-04-08 09:00:45,049 INFO L226 Difference]: Without dead ends: 350 [2022-04-08 09:00:45,052 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 163 SyntacticMatches, 0 SemanticMatches, 122 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3940 ImplicationChecksByTransitivity, 6.6s TimeCoverageRelationStatistics Valid=1711, Invalid=13541, Unknown=0, NotChecked=0, Total=15252 [2022-04-08 09:00:45,052 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-08 09:00:45,052 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-08 09:00:45,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-08 09:00:46,269 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 233. [2022-04-08 09:00:46,269 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:00:46,270 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-08 09:00:46,270 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-08 09:00:46,270 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-08 09:00:46,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:46,276 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-08 09:00:46,276 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-08 09:00:46,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:46,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:46,277 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-08 09:00:46,277 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-08 09:00:46,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:00:46,283 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-08 09:00:46,283 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-08 09:00:46,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:00:46,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:00:46,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:00:46,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:00:46,284 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-08 09:00:46,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 313 transitions. [2022-04-08 09:00:46,288 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 313 transitions. Word has length 94 [2022-04-08 09:00:46,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:00:46,288 INFO L478 AbstractCegarLoop]: Abstraction has 233 states and 313 transitions. [2022-04-08 09:00:46,288 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-08 09:00:46,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 313 transitions. [2022-04-08 09:00:47,131 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-08 09:00:47,131 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 313 transitions. [2022-04-08 09:00:47,132 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 09:00:47,132 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:00:47,132 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-08 09:00:47,150 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-08 09:00:47,338 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-08 09:00:47,338 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:00:47,338 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:00:47,338 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 1 times [2022-04-08 09:00:47,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:47,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [290186666] [2022-04-08 09:00:47,340 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:00:47,340 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:00:47,340 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 2 times [2022-04-08 09:00:47,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:00:47,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972333995] [2022-04-08 09:00:47,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:00:47,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:00:47,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:47,456 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:00:47,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:47,460 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-08 09:00:47,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:00:47,460 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:00:47,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:00:47,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:48,574 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-08 09:00:48,575 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-08 09:00:48,576 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-08 09:00:48,576 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-08 09:00:48,577 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-08 09:00:48,578 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-08 09:00:48,578 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-08 09:00:48,579 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-08 09:00:48,579 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-08 09:00:48,580 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-08 09:00:48,580 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-08 09:00:48,581 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-08 09:00:48,582 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-08 09:00:48,582 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-08 09:00:48,583 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-08 09:00:48,584 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-08 09:00:48,585 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-08 09:00:48,586 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-08 09:00:48,586 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-08 09:00:48,587 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-08 09:00:48,588 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-08 09:00:48,588 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-08 09:00:48,589 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-08 09:00:48,590 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-08 09:00:48,591 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-08 09:00:48,591 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-08 09:00:48,592 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-08 09:00:48,592 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-08 09:00:48,593 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-08 09:00:48,594 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-08 09:00:48,595 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-08 09:00:48,595 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-08 09:00:48,596 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-08 09:00:48,597 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-08 09:00:48,597 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-08 09:00:48,598 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-08 09:00:48,598 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-08 09:00:48,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,598 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-08 09:00:48,598 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-08 09:00:48,599 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-08 09:00:48,599 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-08 09:00:48,599 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-08 09:00:48,599 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-08 09:00:48,599 INFO L290 TraceCheckUtils]: 44: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,599 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-08 09:00:48,599 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-08 09:00:48,599 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-08 09:00:48,599 INFO L290 TraceCheckUtils]: 48: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,599 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-08 09:00:48,599 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-08 09:00:48,599 INFO L290 TraceCheckUtils]: 51: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,599 INFO L290 TraceCheckUtils]: 52: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-08 09:00:48,600 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-08 09:00:48,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:00:48,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:48,606 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 09:00:48,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 09:00:48,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 09:00:48,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 09:00:48,606 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:00:48,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:48,608 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 09:00:48,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 09:00:48,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 09:00:48,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 09:00:48,609 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-08 09:00:48,610 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-08 09:00:48,610 INFO L290 TraceCheckUtils]: 2: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:00:48,610 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:00:48,610 INFO L272 TraceCheckUtils]: 4: Hoare triple {21405#(= |~#array~0.offset| 0)} call #t~ret10 := main(); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:00:48,611 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-08 09:00:48,611 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-08 09:00:48,611 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-08 09:00:48,611 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-08 09:00:48,612 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-08 09:00:48,612 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-08 09:00:48,612 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-08 09:00:48,612 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-08 09:00:48,613 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-08 09:00:48,613 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-08 09:00:48,613 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-08 09:00:48,614 INFO L290 TraceCheckUtils]: 16: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !(~i~1 >= 0); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:00:48,614 INFO L272 TraceCheckUtils]: 17: Hoare triple {21405#(= |~#array~0.offset| 0)} call SelectionSort(); {21469#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:00:48,614 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-08 09:00:48,614 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-08 09:00:48,615 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-08 09:00:48,616 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-08 09:00:48,617 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-08 09:00:48,617 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-08 09:00:48,618 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-08 09:00:48,618 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-08 09:00:48,619 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-08 09:00:48,619 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-08 09:00:48,620 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-08 09:00:48,620 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-08 09:00:48,621 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-08 09:00:48,622 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-08 09:00:48,623 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-08 09:00:48,624 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-08 09:00:48,624 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-08 09:00:48,625 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-08 09:00:48,626 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-08 09:00:48,626 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-08 09:00:48,627 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-08 09:00:48,628 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-08 09:00:48,628 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-08 09:00:48,629 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-08 09:00:48,630 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-08 09:00:48,631 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-08 09:00:48,631 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-08 09:00:48,631 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-08 09:00:48,632 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-08 09:00:48,633 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-08 09:00:48,634 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-08 09:00:48,634 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-08 09:00:48,635 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-08 09:00:48,636 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-08 09:00:48,636 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-08 09:00:48,637 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-08 09:00:48,637 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-08 09:00:48,637 INFO L290 TraceCheckUtils]: 55: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,637 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-08 09:00:48,638 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-08 09:00:48,638 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-08 09:00:48,638 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-08 09:00:48,638 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-08 09:00:48,638 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-08 09:00:48,638 INFO L290 TraceCheckUtils]: 62: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,638 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-08 09:00:48,638 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-08 09:00:48,638 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-08 09:00:48,638 INFO L290 TraceCheckUtils]: 66: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,638 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-08 09:00:48,638 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-08 09:00:48,638 INFO L290 TraceCheckUtils]: 69: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-08 09:00:48,638 INFO L290 TraceCheckUtils]: 70: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-08 09:00:48,639 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-08 09:00:48,639 INFO L290 TraceCheckUtils]: 72: Hoare triple {21401#false} ~i~1 := 0; {21401#false} is VALID [2022-04-08 09:00:48,639 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-08 09:00:48,639 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-08 09:00:48,639 INFO L290 TraceCheckUtils]: 75: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 09:00:48,639 INFO L290 TraceCheckUtils]: 76: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 09:00:48,639 INFO L290 TraceCheckUtils]: 77: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 09:00:48,639 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 09:00:48,639 INFO L290 TraceCheckUtils]: 79: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-08 09:00:48,639 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-08 09:00:48,639 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-08 09:00:48,639 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-08 09:00:48,639 INFO L290 TraceCheckUtils]: 83: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 09:00:48,639 INFO L290 TraceCheckUtils]: 84: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 09:00:48,639 INFO L290 TraceCheckUtils]: 85: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 09:00:48,640 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 09:00:48,640 INFO L290 TraceCheckUtils]: 87: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-08 09:00:48,640 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-08 09:00:48,640 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-08 09:00:48,640 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-08 09:00:48,640 INFO L290 TraceCheckUtils]: 91: Hoare triple {21401#false} ~cond := #in~cond; {21401#false} is VALID [2022-04-08 09:00:48,640 INFO L290 TraceCheckUtils]: 92: Hoare triple {21401#false} assume 0 == ~cond; {21401#false} is VALID [2022-04-08 09:00:48,640 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-08 09:00:48,641 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-08 09:00:48,641 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:00:48,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [972333995] [2022-04-08 09:00:48,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [972333995] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:48,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [870833439] [2022-04-08 09:00:48,641 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:00:48,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:00:48,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:00:48,642 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-08 09:00:48,642 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-08 09:00:48,763 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:00:48,763 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:00:48,765 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 09:00:48,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:00:48,782 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:00:48,839 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:00:48,840 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-08 09:00:48,982 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-08 09:00:49,099 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:00:49,100 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-08 09:00:49,202 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:00:49,203 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-08 09:00:49,803 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-08 09:00:50,566 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:00:50,566 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-08 09:00:50,673 INFO L272 TraceCheckUtils]: 0: Hoare triple {21400#true} call ULTIMATE.init(); {21400#true} is VALID [2022-04-08 09:00:50,674 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-08 09:00:50,674 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-08 09:00:50,675 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-08 09:00:50,675 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-08 09:00:50,675 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-08 09:00:50,676 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-08 09:00:50,676 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-08 09:00:50,677 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-08 09:00:50,677 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-08 09:00:50,678 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-08 09:00:50,678 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-08 09:00:50,679 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-08 09:00:50,679 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-08 09:00:50,680 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-08 09:00:50,680 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-08 09:00:50,680 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-08 09:00:50,681 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-08 09:00:50,681 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-08 09:00:50,682 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-08 09:00:50,682 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-08 09:00:50,682 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-08 09:00:50,683 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-08 09:00:50,683 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-08 09:00:50,683 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-08 09:00:50,684 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-08 09:00:50,684 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-08 09:00:50,684 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-08 09:00:50,685 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-08 09:00:50,685 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-08 09:00:50,685 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-08 09:00:50,686 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-08 09:00:50,686 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-08 09:00:50,687 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-08 09:00:50,687 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-08 09:00:50,687 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-08 09:00:50,688 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-08 09:00:50,688 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-08 09:00:50,689 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-08 09:00:50,689 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-08 09:00:50,689 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-08 09:00:50,690 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-08 09:00:50,690 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-08 09:00:50,690 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-08 09:00:50,691 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-08 09:00:50,691 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-08 09:00:50,693 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-08 09:00:50,693 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-08 09:00:50,694 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-08 09:00:50,694 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-08 09:00:50,694 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-08 09:00:50,695 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-08 09:00:50,695 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-08 09:00:50,695 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-08 09:00:50,696 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-08 09:00:50,696 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-08 09:00:50,698 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-08 09:00:50,698 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-08 09:00:50,698 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-08 09:00:50,699 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-08 09:00:50,699 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-08 09:00:50,699 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-08 09:00:50,700 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-08 09:00:50,701 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-08 09:00:50,702 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-08 09:00:50,702 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-08 09:00:50,702 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-08 09:00:50,704 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-08 09:00:50,704 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-08 09:00:50,704 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-08 09:00:50,705 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-08 09:00:50,705 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-08 09:00:50,706 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-08 09:00:50,706 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-08 09:00:50,707 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-08 09:00:50,707 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-08 09:00:50,708 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-08 09:00:50,708 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-08 09:00:50,708 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-08 09:00:50,709 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-08 09:00:50,709 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-08 09:00:50,709 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-08 09:00:50,710 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-08 09:00:50,710 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-08 09:00:50,711 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-08 09:00:50,711 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-08 09:00:50,711 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-08 09:00:50,712 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-08 09:00:50,712 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-08 09:00:50,713 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-08 09:00:50,713 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-08 09:00:50,713 INFO L290 TraceCheckUtils]: 91: Hoare triple {21788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:00:50,714 INFO L290 TraceCheckUtils]: 92: Hoare triple {21792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21401#false} is VALID [2022-04-08 09:00:50,714 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-08 09:00:50,714 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-08 09:00:50,714 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:00:51,019 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-08 09:00:51,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [870833439] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:00:51,021 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:00:51,021 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 20] total 52 [2022-04-08 09:00:51,021 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:00:51,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [290186666] [2022-04-08 09:00:51,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [290186666] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:00:51,021 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:00:51,021 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-08 09:00:51,021 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [347581319] [2022-04-08 09:00:51,021 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:00:51,022 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-08 09:00:51,022 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:00:51,022 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-08 09:00:51,083 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-08 09:00:51,083 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-08 09:00:51,083 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:00:51,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-08 09:00:51,088 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=229, Invalid=2957, Unknown=10, NotChecked=110, Total=3306 [2022-04-08 09:00:51,088 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-08 09:01:06,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:06,866 INFO L93 Difference]: Finished difference Result 762 states and 1052 transitions. [2022-04-08 09:01:06,866 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 92 states. [2022-04-08 09:01:06,866 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-08 09:01:06,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:01:06,867 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-08 09:01:06,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-08 09:01:06,869 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-08 09:01:06,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-08 09:01:06,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 229 transitions. [2022-04-08 09:01:07,184 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-08 09:01:07,203 INFO L225 Difference]: With dead ends: 762 [2022-04-08 09:01:07,203 INFO L226 Difference]: Without dead ends: 701 [2022-04-08 09:01:07,207 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 246 GetRequests, 93 SyntacticMatches, 8 SemanticMatches, 145 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 5994 ImplicationChecksByTransitivity, 8.6s TimeCoverageRelationStatistics Valid=2620, Invalid=18543, Unknown=11, NotChecked=288, Total=21462 [2022-04-08 09:01:07,207 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 372 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 963 mSolverCounterSat, 357 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 372 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 1320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 357 IncrementalHoareTripleChecker+Valid, 963 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-08 09:01:07,208 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.4s Time] [2022-04-08 09:01:07,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 701 states. [2022-04-08 09:01:10,575 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 701 to 465. [2022-04-08 09:01:10,575 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:01:10,576 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-08 09:01:10,576 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-08 09:01:10,577 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-08 09:01:10,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:10,593 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-08 09:01:10,593 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-08 09:01:10,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:01:10,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:01:10,594 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-08 09:01:10,595 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-08 09:01:10,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:10,611 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-08 09:01:10,611 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-08 09:01:10,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:01:10,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:01:10,612 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:01:10,612 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:01:10,612 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-08 09:01:10,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 642 transitions. [2022-04-08 09:01:10,621 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 642 transitions. Word has length 94 [2022-04-08 09:01:10,621 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:01:10,621 INFO L478 AbstractCegarLoop]: Abstraction has 465 states and 642 transitions. [2022-04-08 09:01:10,621 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-08 09:01:10,621 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 465 states and 642 transitions. [2022-04-08 09:01:12,646 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-08 09:01:12,647 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 642 transitions. [2022-04-08 09:01:12,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 09:01:12,648 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:01:12,648 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-08 09:01:12,664 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-08 09:01:12,863 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-08 09:01:12,863 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:01:12,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:01:12,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 3 times [2022-04-08 09:01:12,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:01:12,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1321740333] [2022-04-08 09:01:12,865 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:01:12,866 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:01:12,866 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 4 times [2022-04-08 09:01:12,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:01:12,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585527205] [2022-04-08 09:01:12,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:01:12,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:01:12,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:13,323 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:01:13,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:13,342 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-08 09:01:13,343 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-08 09:01:13,343 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-08 09:01:13,356 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:01:13,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:13,448 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-08 09:01:13,448 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-08 09:01:13,449 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-08 09:01:13,449 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-08 09:01:13,449 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-08 09:01:13,450 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-08 09:01:13,450 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-08 09:01:13,451 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-08 09:01:13,451 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-08 09:01:13,451 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-08 09:01:13,452 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-08 09:01:13,452 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-08 09:01:13,453 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-08 09:01:13,453 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-08 09:01:13,454 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-08 09:01:13,454 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-08 09:01:13,455 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-08 09:01:13,455 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-08 09:01:13,456 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-08 09:01:13,456 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-08 09:01:13,456 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-08 09:01:13,457 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-08 09:01:13,457 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-08 09:01:13,458 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-08 09:01:13,458 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-08 09:01:13,459 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-08 09:01:13,459 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-08 09:01:13,459 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-08 09:01:13,460 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-08 09:01:13,461 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-08 09:01:13,461 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-08 09:01:13,461 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-08 09:01:13,462 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-08 09:01:13,462 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-08 09:01:13,463 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-08 09:01:13,463 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-08 09:01:13,464 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-08 09:01:13,464 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-08 09:01:13,465 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-08 09:01:13,465 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-08 09:01:13,465 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-08 09:01:13,466 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-08 09:01:13,466 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-08 09:01:13,467 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-08 09:01:13,467 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-08 09:01:13,468 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-08 09:01:13,468 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-08 09:01:13,469 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-08 09:01:13,469 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-08 09:01:13,470 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-08 09:01:13,470 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-08 09:01:13,471 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-08 09:01:13,471 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-08 09:01:13,472 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-08 09:01:13,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:01:13,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:13,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 09:01:13,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 09:01:13,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:13,477 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-08 09:01:13,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:01:13,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:13,480 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 09:01:13,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 09:01:13,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:13,481 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-08 09:01:13,481 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-08 09:01:13,482 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-08 09:01:13,482 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-08 09:01:13,483 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-08 09:01:13,483 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-08 09:01:13,483 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-08 09:01:13,484 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-08 09:01:13,485 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-08 09:01:13,485 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-08 09:01:13,485 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-08 09:01:13,486 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-08 09:01:13,487 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-08 09:01:13,488 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-08 09:01:13,488 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-08 09:01:13,489 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-08 09:01:13,489 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-08 09:01:13,490 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-08 09:01:13,490 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-08 09:01:13,491 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-08 09:01:13,491 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-08 09:01:13,491 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-08 09:01:13,492 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-08 09:01:13,492 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-08 09:01:13,492 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-08 09:01:13,493 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-08 09:01:13,493 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-08 09:01:13,493 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-08 09:01:13,494 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-08 09:01:13,494 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-08 09:01:13,495 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-08 09:01:13,495 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-08 09:01:13,495 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-08 09:01:13,496 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-08 09:01:13,496 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-08 09:01:13,497 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-08 09:01:13,497 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-08 09:01:13,497 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-08 09:01:13,498 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-08 09:01:13,498 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-08 09:01:13,498 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-08 09:01:13,499 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-08 09:01:13,499 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-08 09:01:13,499 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-08 09:01:13,500 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-08 09:01:13,500 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-08 09:01:13,501 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-08 09:01:13,501 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-08 09:01:13,502 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-08 09:01:13,502 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-08 09:01:13,502 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-08 09:01:13,503 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-08 09:01:13,503 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-08 09:01:13,503 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-08 09:01:13,504 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-08 09:01:13,504 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-08 09:01:13,504 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-08 09:01:13,505 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-08 09:01:13,505 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-08 09:01:13,506 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-08 09:01:13,506 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-08 09:01:13,506 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-08 09:01:13,507 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-08 09:01:13,507 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-08 09:01:13,508 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-08 09:01:13,508 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-08 09:01:13,508 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-08 09:01:13,509 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-08 09:01:13,509 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-08 09:01:13,510 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-08 09:01:13,510 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-08 09:01:13,510 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-08 09:01:13,511 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-08 09:01:13,512 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-08 09:01:13,512 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-08 09:01:13,512 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-08 09:01:13,512 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 09:01:13,512 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 09:01:13,512 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:13,513 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-08 09:01:13,513 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-08 09:01:13,514 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-08 09:01:13,514 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-08 09:01:13,514 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-08 09:01:13,514 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 09:01:13,514 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 09:01:13,514 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:13,515 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-08 09:01:13,515 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-08 09:01:13,516 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-08 09:01:13,516 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-08 09:01:13,517 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-08 09:01:13,517 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-08 09:01:13,517 INFO L290 TraceCheckUtils]: 92: Hoare triple {25989#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25909#false} is VALID [2022-04-08 09:01:13,517 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-08 09:01:13,518 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-08 09:01:13,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:01:13,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [585527205] [2022-04-08 09:01:13,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [585527205] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:01:13,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1697662512] [2022-04-08 09:01:13,518 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:01:13,518 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:01:13,519 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:01:13,519 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-08 09:01:13,520 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-08 09:01:13,635 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:01:13,636 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:01:13,637 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 09:01:13,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:13,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:01:14,176 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 09:01:14,177 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-08 09:01:14,310 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-08 09:01:14,311 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-08 09:01:14,401 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-08 09:01:14,401 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-08 09:01:14,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:14,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-08 09:01:14,401 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-08 09:01:14,401 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-08 09:01:14,401 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 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-08 09:01:14,402 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-08 09:01:14,402 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-08 09:01:14,402 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-08 09:01:14,403 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-08 09:01:14,403 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-08 09:01:14,404 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-08 09:01:14,404 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-08 09:01:14,404 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-08 09:01:14,405 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-08 09:01:14,405 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-08 09:01:14,405 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-08 09:01:14,406 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-08 09:01:14,406 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-08 09:01:14,406 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-08 09:01:14,406 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-08 09:01:14,407 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-08 09:01:14,407 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-08 09:01:14,407 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-08 09:01:14,408 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-08 09:01:14,408 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-08 09:01:14,408 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-08 09:01:14,409 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-08 09:01:14,418 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-08 09:01:14,419 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-08 09:01:14,419 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-08 09:01:14,420 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-08 09:01:14,420 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-08 09:01:14,421 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-08 09:01:14,421 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-08 09:01:14,422 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-08 09:01:14,422 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-08 09:01:14,423 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-08 09:01:14,423 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-08 09:01:14,424 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-08 09:01:14,424 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-08 09:01:14,424 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-08 09:01:14,424 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-08 09:01:14,424 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-08 09:01:14,424 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-08 09:01:14,424 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:14,425 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-08 09:01:14,425 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-08 09:01:14,425 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:14,425 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 09:01:14,426 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-08 09:01:14,426 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-08 09:01:14,426 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-08 09:01:14,426 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-08 09:01:14,426 INFO L290 TraceCheckUtils]: 75: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 09:01:14,426 INFO L290 TraceCheckUtils]: 76: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-08 09:01:14,426 INFO L290 TraceCheckUtils]: 77: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 09:01:14,426 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 09:01:14,426 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 09:01:14,426 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-08 09:01:14,426 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-08 09:01:14,426 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-08 09:01:14,426 INFO L290 TraceCheckUtils]: 83: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 09:01:14,426 INFO L290 TraceCheckUtils]: 84: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-08 09:01:14,427 INFO L290 TraceCheckUtils]: 85: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 09:01:14,427 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 09:01:14,427 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 09:01:14,427 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-08 09:01:14,427 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-08 09:01:14,427 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-08 09:01:14,427 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 09:01:14,427 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-08 09:01:14,427 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-08 09:01:14,427 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-08 09:01:14,428 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:01:20,547 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-08 09:01:20,663 INFO L356 Elim1Store]: treesize reduction 81, result has 52.1 percent of original size [2022-04-08 09:01:20,664 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-08 09:01:21,488 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-08 09:01:21,488 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-08 09:01:21,488 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 09:01:21,488 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-08 09:01:21,488 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-08 09:01:21,488 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-08 09:01:21,488 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 09:01:21,488 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 09:01:21,488 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:21,488 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 09:01:21,488 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 09:01:21,489 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-08 09:01:21,489 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-08 09:01:21,489 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-08 09:01:21,489 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 09:01:21,489 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 09:01:21,489 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:21,489 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 09:01:21,489 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 09:01:21,489 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-08 09:01:21,489 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-08 09:01:21,489 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-08 09:01:21,489 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-08 09:01:21,489 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 09:01:21,489 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:21,490 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-08 09:01:21,490 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-08 09:01:21,490 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:21,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-08 09:01:21,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-08 09:01:21,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-08 09:01:21,490 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:21,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-08 09:01:21,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-08 09:01:21,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-08 09:01:21,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-08 09:01:21,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-08 09:01:21,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-08 09:01:21,490 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 09:01:21,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-08 09:01:21,491 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-08 09:01:21,491 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-08 09:01:21,491 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-08 09:01:21,491 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-08 09:01:21,491 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-08 09:01:21,492 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-08 09:01:21,493 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-08 09:01:21,494 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-08 09:01:21,494 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-08 09:01:21,495 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-08 09:01:21,495 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-08 09:01:21,496 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-08 09:01:21,496 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-08 09:01:21,497 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-08 09:01:21,497 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-08 09:01:21,501 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-08 09:01:21,501 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-08 09:01:21,504 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-08 09:01:21,504 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-08 09:01:21,504 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-08 09:01:21,504 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-08 09:01:21,504 INFO L290 TraceCheckUtils]: 32: Hoare triple {25908#true} assume !(~i~0 < ~n~0); {25908#true} is VALID [2022-04-08 09:01:21,504 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-08 09:01:21,504 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-08 09:01:21,504 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,505 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-08 09:01:21,505 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-08 09:01:21,505 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-08 09:01:21,505 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 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-08 09:01:21,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-08 09:01:21,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-08 09:01:21,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 09:01:21,506 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-08 09:01:21,506 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-08 09:01:21,507 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-08 09:01:21,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1697662512] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:01:21,507 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:01:21,507 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 15, 11] total 43 [2022-04-08 09:01:21,507 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:01:21,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1321740333] [2022-04-08 09:01:21,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1321740333] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:01:21,507 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:01:21,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 09:01:21,508 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [649347273] [2022-04-08 09:01:21,508 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:01:21,508 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-08 09:01:21,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:01:21,508 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-08 09:01:21,573 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-08 09:01:21,573 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 09:01:21,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:01:21,574 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 09:01:21,574 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=1686, Unknown=0, NotChecked=0, Total=1806 [2022-04-08 09:01:21,574 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-08 09:01:27,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:27,832 INFO L93 Difference]: Finished difference Result 490 states and 670 transitions. [2022-04-08 09:01:27,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 09:01:27,832 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-08 09:01:27,832 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:01:27,832 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-08 09:01:27,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-08 09:01:27,833 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-08 09:01:27,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-08 09:01:27,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 85 transitions. [2022-04-08 09:01:27,918 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-08 09:01:27,928 INFO L225 Difference]: With dead ends: 490 [2022-04-08 09:01:27,928 INFO L226 Difference]: Without dead ends: 488 [2022-04-08 09:01:27,928 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 178 SyntacticMatches, 1 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 817 ImplicationChecksByTransitivity, 6.2s TimeCoverageRelationStatistics Valid=308, Invalid=3598, Unknown=0, NotChecked=0, Total=3906 [2022-04-08 09:01:27,929 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 122 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 849 mSolverCounterSat, 120 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 969 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 120 IncrementalHoareTripleChecker+Valid, 849 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 09:01:27,929 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.0s Time] [2022-04-08 09:01:27,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 488 states. [2022-04-08 09:01:31,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 488 to 473. [2022-04-08 09:01:31,360 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:01:31,361 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-08 09:01:31,361 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-08 09:01:31,361 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-08 09:01:31,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:31,369 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-08 09:01:31,369 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-08 09:01:31,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:01:31,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:01:31,370 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-08 09:01:31,370 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-08 09:01:31,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:31,378 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-08 09:01:31,378 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-08 09:01:31,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:01:31,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:01:31,379 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:01:31,379 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:01:31,380 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-08 09:01:31,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 473 states to 473 states and 650 transitions. [2022-04-08 09:01:31,392 INFO L78 Accepts]: Start accepts. Automaton has 473 states and 650 transitions. Word has length 94 [2022-04-08 09:01:31,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:01:31,392 INFO L478 AbstractCegarLoop]: Abstraction has 473 states and 650 transitions. [2022-04-08 09:01:31,393 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-08 09:01:31,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 473 states and 650 transitions. [2022-04-08 09:01:33,437 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-08 09:01:33,437 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 650 transitions. [2022-04-08 09:01:33,438 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 09:01:33,438 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:01:33,438 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-08 09:01:33,454 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-08 09:01:33,638 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-08 09:01:33,638 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:01:33,639 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:01:33,639 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 5 times [2022-04-08 09:01:33,639 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:01:33,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [50190790] [2022-04-08 09:01:33,641 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:01:33,641 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:01:33,641 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 6 times [2022-04-08 09:01:33,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:01:33,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [226720108] [2022-04-08 09:01:33,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:01:33,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:01:33,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:33,727 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:01:33,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:33,734 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-08 09:01:33,735 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-08 09:01:33,735 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-08 09:01:33,737 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:01:33,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:34,183 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-08 09:01:34,184 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-08 09:01:34,184 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-08 09:01:34,185 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-08 09:01:34,185 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-08 09:01:34,186 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-08 09:01:34,186 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-08 09:01:34,187 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-08 09:01:34,187 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-08 09:01:34,188 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-08 09:01:34,188 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-08 09:01:34,188 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-08 09:01:34,189 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-08 09:01:34,189 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-08 09:01:34,189 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-08 09:01:34,189 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-08 09:01:34,189 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-08 09:01:34,190 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-08 09:01:34,190 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-08 09:01:34,191 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-08 09:01:34,192 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-08 09:01:34,192 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-08 09:01:34,193 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-08 09:01:34,193 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-08 09:01:34,194 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-08 09:01:34,194 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-08 09:01:34,194 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-08 09:01:34,195 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-08 09:01:34,196 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-08 09:01:34,197 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-08 09:01:34,197 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-08 09:01:34,198 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-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,199 INFO L290 TraceCheckUtils]: 37: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,199 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-08 09:01:34,200 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-08 09:01:34,200 INFO L290 TraceCheckUtils]: 44: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,200 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-08 09:01:34,200 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-08 09:01:34,200 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-08 09:01:34,200 INFO L290 TraceCheckUtils]: 48: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,200 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-08 09:01:34,200 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-08 09:01:34,200 INFO L290 TraceCheckUtils]: 51: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,200 INFO L290 TraceCheckUtils]: 52: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-08 09:01:34,200 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-08 09:01:34,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:01:34,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:34,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 09:01:34,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 09:01:34,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 09:01:34,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 09:01:34,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:01:34,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:34,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 09:01:34,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 09:01:34,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 09:01:34,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 09:01:34,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:01:34,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:34,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 09:01:34,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 09:01:34,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 09:01:34,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 09:01:34,209 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-08 09:01:34,210 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-08 09:01:34,210 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-08 09:01:34,211 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-08 09:01:34,211 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-08 09:01:34,211 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-08 09:01:34,212 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-08 09:01:34,212 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-08 09:01:34,212 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-08 09:01:34,213 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-08 09:01:34,213 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-08 09:01:34,213 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-08 09:01:34,214 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-08 09:01:34,214 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-08 09:01:34,214 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-08 09:01:34,215 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-08 09:01:34,215 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-08 09:01:34,215 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-08 09:01:34,215 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-08 09:01:34,216 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-08 09:01:34,216 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-08 09:01:34,217 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-08 09:01:34,217 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-08 09:01:34,217 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-08 09:01:34,218 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-08 09:01:34,219 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-08 09:01:34,219 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-08 09:01:34,219 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-08 09:01:34,220 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-08 09:01:34,220 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-08 09:01:34,220 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-08 09:01:34,221 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-08 09:01:34,221 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-08 09:01:34,221 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-08 09:01:34,221 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-08 09:01:34,222 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-08 09:01:34,222 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-08 09:01:34,223 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-08 09:01:34,224 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-08 09:01:34,224 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-08 09:01:34,224 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-08 09:01:34,225 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-08 09:01:34,225 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-08 09:01:34,226 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-08 09:01:34,226 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-08 09:01:34,227 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-08 09:01:34,227 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-08 09:01:34,228 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-08 09:01:34,229 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-08 09:01:34,230 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-08 09:01:34,230 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-08 09:01:34,230 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-08 09:01:34,230 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-08 09:01:34,230 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-08 09:01:34,230 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-08 09:01:34,230 INFO L290 TraceCheckUtils]: 55: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,230 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-08 09:01:34,231 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-08 09:01:34,231 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-08 09:01:34,231 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-08 09:01:34,231 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-08 09:01:34,231 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-08 09:01:34,231 INFO L290 TraceCheckUtils]: 62: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,231 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-08 09:01:34,231 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-08 09:01:34,231 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-08 09:01:34,231 INFO L290 TraceCheckUtils]: 66: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,231 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-08 09:01:34,231 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-08 09:01:34,231 INFO L290 TraceCheckUtils]: 69: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-08 09:01:34,231 INFO L290 TraceCheckUtils]: 70: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-08 09:01:34,232 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-08 09:01:34,232 INFO L290 TraceCheckUtils]: 72: Hoare triple {29523#false} ~i~1 := 0; {29523#false} is VALID [2022-04-08 09:01:34,232 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-08 09:01:34,232 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-08 09:01:34,232 INFO L290 TraceCheckUtils]: 75: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 09:01:34,232 INFO L290 TraceCheckUtils]: 76: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 09:01:34,232 INFO L290 TraceCheckUtils]: 77: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 09:01:34,232 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 09:01:34,232 INFO L290 TraceCheckUtils]: 79: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-08 09:01:34,232 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-08 09:01:34,232 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-08 09:01:34,232 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-08 09:01:34,232 INFO L290 TraceCheckUtils]: 83: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 09:01:34,232 INFO L290 TraceCheckUtils]: 84: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 09:01:34,232 INFO L290 TraceCheckUtils]: 85: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 09:01:34,233 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 09:01:34,233 INFO L290 TraceCheckUtils]: 87: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-08 09:01:34,233 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-08 09:01:34,233 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-08 09:01:34,233 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-08 09:01:34,233 INFO L290 TraceCheckUtils]: 91: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 09:01:34,233 INFO L290 TraceCheckUtils]: 92: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 09:01:34,233 INFO L290 TraceCheckUtils]: 93: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 09:01:34,233 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 09:01:34,233 INFO L290 TraceCheckUtils]: 95: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-08 09:01:34,233 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-08 09:01:34,233 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-08 09:01:34,233 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-08 09:01:34,233 INFO L290 TraceCheckUtils]: 99: Hoare triple {29523#false} ~cond := #in~cond; {29523#false} is VALID [2022-04-08 09:01:34,233 INFO L290 TraceCheckUtils]: 100: Hoare triple {29523#false} assume 0 == ~cond; {29523#false} is VALID [2022-04-08 09:01:34,234 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-08 09:01:34,234 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-08 09:01:34,234 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:01:34,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [226720108] [2022-04-08 09:01:34,234 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [226720108] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:01:34,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1675464383] [2022-04-08 09:01:34,234 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 09:01:34,234 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:01:34,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:01:34,235 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-08 09:01:34,236 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-08 09:01:34,551 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-08 09:01:34,551 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:01:34,553 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 09:01:34,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:34,573 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:01:34,622 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:01:34,622 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-08 09:01:34,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-08 09:01:34,779 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:01:34,780 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-08 09:01:34,846 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 09:01:34,846 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-08 09:01:34,979 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 09:01:34,979 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-08 09:01:35,576 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-08 09:01:36,659 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:01:36,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, 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-08 09:01:36,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {29522#true} call ULTIMATE.init(); {29522#true} is VALID [2022-04-08 09:01:36,762 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-08 09:01:36,763 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-08 09:01:36,763 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-08 09:01:36,763 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-08 09:01:36,764 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-08 09:01:36,764 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-08 09:01:36,765 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-08 09:01:36,765 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-08 09:01:36,766 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-08 09:01:36,766 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-08 09:01:36,767 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-08 09:01:36,767 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-08 09:01:36,768 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-08 09:01:36,769 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-08 09:01:36,769 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-08 09:01:36,770 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-08 09:01:36,770 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-08 09:01:36,771 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-08 09:01:36,771 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-08 09:01:36,771 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-08 09:01:36,772 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-08 09:01:36,772 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-08 09:01:36,773 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-08 09:01:36,773 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-08 09:01:36,773 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-08 09:01:36,774 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-08 09:01:36,774 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-08 09:01:36,774 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-08 09:01:36,775 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-08 09:01:36,775 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-08 09:01:36,776 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-08 09:01:36,776 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-08 09:01:36,777 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-08 09:01:36,777 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-08 09:01:36,778 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-08 09:01:36,778 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-08 09:01:36,779 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-08 09:01:36,779 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-08 09:01:36,780 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-08 09:01:36,781 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-08 09:01:36,781 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-08 09:01:36,782 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-08 09:01:36,782 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-08 09:01:36,783 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-08 09:01:36,783 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-08 09:01:36,785 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-08 09:01:36,786 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-08 09:01:36,787 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-08 09:01:36,787 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-08 09:01:36,788 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-08 09:01:36,788 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-08 09:01:36,789 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-08 09:01:36,790 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-08 09:01:36,790 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-08 09:01:36,791 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-08 09:01:36,793 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-08 09:01:36,793 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-08 09:01:36,794 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-08 09:01:36,794 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-08 09:01:36,795 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-08 09:01:36,796 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-08 09:01:36,796 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-08 09:01:36,798 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-08 09:01:36,799 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-08 09:01:36,799 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-08 09:01:36,800 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-08 09:01:36,802 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-08 09:01:36,802 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-08 09:01:36,803 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-08 09:01:36,803 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-08 09:01:36,804 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-08 09:01:36,804 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-08 09:01:36,805 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-08 09:01:36,806 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-08 09:01:36,806 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-08 09:01:36,807 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-08 09:01:36,807 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-08 09:01:36,808 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-08 09:01:36,808 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-08 09:01:36,809 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-08 09:01:36,809 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-08 09:01:36,810 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-08 09:01:36,811 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-08 09:01:36,811 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-08 09:01:36,816 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-08 09:01:36,817 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-08 09:01:36,817 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-08 09:01:36,818 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-08 09:01:36,819 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-08 09:01:36,820 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-08 09:01:36,821 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-08 09:01:36,821 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-08 09:01:36,822 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-08 09:01:36,823 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-08 09:01:36,823 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-08 09:01:36,823 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-08 09:01:36,824 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-08 09:01:36,824 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-08 09:01:36,825 INFO L290 TraceCheckUtils]: 99: Hoare triple {29928#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29932#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:01:36,825 INFO L290 TraceCheckUtils]: 100: Hoare triple {29932#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29523#false} is VALID [2022-04-08 09:01:36,825 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-08 09:01:36,826 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-08 09:01:36,826 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:01:37,171 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-08 09:01:37,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1675464383] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:01:37,172 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:01:37,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-08 09:01:37,172 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:01:37,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [50190790] [2022-04-08 09:01:37,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [50190790] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:01:37,173 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:01:37,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 09:01:37,173 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265823606] [2022-04-08 09:01:37,173 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:01:37,173 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-08 09:01:37,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:01:37,174 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-08 09:01:37,222 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-08 09:01:37,222 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 09:01:37,222 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:01:37,222 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 09:01:37,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2090, Unknown=11, NotChecked=92, Total=2352 [2022-04-08 09:01:37,223 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-08 09:01:50,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:50,371 INFO L93 Difference]: Finished difference Result 1370 states and 1890 transitions. [2022-04-08 09:01:50,371 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2022-04-08 09:01:50,371 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-08 09:01:50,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:01:50,372 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-08 09:01:50,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-08 09:01:50,373 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-08 09:01:50,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-08 09:01:50,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 217 transitions. [2022-04-08 09:01:50,605 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-08 09:01:50,649 INFO L225 Difference]: With dead ends: 1370 [2022-04-08 09:01:50,649 INFO L226 Difference]: Without dead ends: 1021 [2022-04-08 09:01:50,650 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 122 SyntacticMatches, 11 SemanticMatches, 98 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 2371 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=725, Invalid=8968, Unknown=13, NotChecked=194, Total=9900 [2022-04-08 09:01:50,650 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 278 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 1172 mSolverCounterSat, 244 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 278 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 244 IncrementalHoareTripleChecker+Valid, 1172 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 09:01:50,650 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.3s Time] [2022-04-08 09:01:50,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1021 states. [2022-04-08 09:01:55,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1021 to 610. [2022-04-08 09:01:55,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:01:55,628 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-08 09:01:55,628 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-08 09:01:55,629 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-08 09:01:55,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:55,657 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-08 09:01:55,657 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-08 09:01:55,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:01:55,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:01:55,659 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-08 09:01:55,659 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-08 09:01:55,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:01:55,687 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-08 09:01:55,687 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-08 09:01:55,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:01:55,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:01:55,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:01:55,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:01:55,689 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-08 09:01:55,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 610 states to 610 states and 830 transitions. [2022-04-08 09:01:55,704 INFO L78 Accepts]: Start accepts. Automaton has 610 states and 830 transitions. Word has length 102 [2022-04-08 09:01:55,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:01:55,704 INFO L478 AbstractCegarLoop]: Abstraction has 610 states and 830 transitions. [2022-04-08 09:01:55,704 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-08 09:01:55,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 610 states and 830 transitions. [2022-04-08 09:01:58,765 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-08 09:01:58,765 INFO L276 IsEmpty]: Start isEmpty. Operand 610 states and 830 transitions. [2022-04-08 09:01:58,771 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 09:01:58,771 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:01:58,771 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-08 09:01:58,788 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-08 09:01:58,988 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-08 09:01:58,988 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:01:58,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:01:58,988 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 7 times [2022-04-08 09:01:58,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:01:58,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [560790750] [2022-04-08 09:01:58,990 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:01:58,990 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:01:58,990 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 8 times [2022-04-08 09:01:58,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:01:58,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [21241361] [2022-04-08 09:01:58,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:01:58,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:01:59,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:59,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:01:59,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:59,631 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-08 09:01:59,631 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-08 09:01:59,632 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-08 09:01:59,643 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:01:59,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:59,700 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-08 09:01:59,701 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-08 09:01:59,702 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-08 09:01:59,702 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-08 09:01:59,702 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-08 09:01:59,703 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-08 09:01:59,703 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-08 09:01:59,703 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-08 09:01:59,704 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-08 09:01:59,704 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-08 09:01:59,704 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-08 09:01:59,705 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-08 09:01:59,705 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-08 09:01:59,705 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-08 09:01:59,705 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-08 09:01:59,706 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-08 09:01:59,706 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-08 09:01:59,706 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-08 09:01:59,707 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-08 09:01:59,707 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-08 09:01:59,707 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-08 09:01:59,708 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-08 09:01:59,708 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-08 09:01:59,708 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-08 09:01:59,708 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-08 09:01:59,709 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-08 09:01:59,709 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-08 09:01:59,709 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-08 09:01:59,710 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-08 09:01:59,710 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-08 09:01:59,710 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-08 09:01:59,710 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-08 09:01:59,711 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-08 09:01:59,711 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-08 09:01:59,711 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-08 09:01:59,711 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-08 09:01:59,712 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-08 09:01:59,712 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-08 09:01:59,712 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-08 09:01:59,713 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-08 09:01:59,713 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-08 09:01:59,713 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-08 09:01:59,713 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-08 09:01:59,714 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-08 09:01:59,714 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-08 09:01:59,715 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-08 09:01:59,715 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-08 09:01:59,715 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-08 09:01:59,715 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-08 09:01:59,716 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-08 09:01:59,716 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-08 09:01:59,716 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-08 09:01:59,717 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-08 09:01:59,717 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-08 09:01:59,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:01:59,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:59,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 09:01:59,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 09:01:59,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 09:01:59,721 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-08 09:01:59,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:01:59,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:59,725 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 09:01:59,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 09:01:59,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 09:01:59,725 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-08 09:01:59,725 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:01:59,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:59,728 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 09:01:59,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 09:01:59,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 09:01:59,728 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-08 09:01:59,729 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-08 09:01:59,730 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-08 09:01:59,730 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-08 09:01:59,730 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-08 09:01:59,731 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-08 09:01:59,731 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-08 09:01:59,731 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-08 09:01:59,732 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-08 09:01:59,733 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-08 09:01:59,733 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-08 09:01:59,734 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-08 09:01:59,734 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-08 09:01:59,735 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-08 09:01:59,736 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-08 09:01:59,736 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-08 09:01:59,737 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-08 09:01:59,737 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-08 09:01:59,737 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-08 09:01:59,738 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-08 09:01:59,738 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-08 09:01:59,738 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-08 09:01:59,739 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-08 09:01:59,739 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-08 09:01:59,739 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-08 09:01:59,739 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-08 09:01:59,740 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-08 09:01:59,740 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-08 09:01:59,740 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-08 09:01:59,741 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-08 09:01:59,741 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-08 09:01:59,741 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-08 09:01:59,741 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-08 09:01:59,742 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-08 09:01:59,742 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-08 09:01:59,742 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-08 09:01:59,743 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-08 09:01:59,743 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-08 09:01:59,743 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-08 09:01:59,743 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-08 09:01:59,744 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-08 09:01:59,744 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-08 09:01:59,744 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-08 09:01:59,744 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-08 09:01:59,745 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-08 09:01:59,745 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-08 09:01:59,745 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-08 09:01:59,746 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-08 09:01:59,746 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-08 09:01:59,746 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-08 09:01:59,746 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-08 09:01:59,747 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-08 09:01:59,747 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-08 09:01:59,747 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-08 09:01:59,748 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-08 09:01:59,748 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-08 09:01:59,748 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-08 09:01:59,749 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-08 09:01:59,749 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-08 09:01:59,749 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-08 09:01:59,749 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-08 09:01:59,750 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-08 09:01:59,750 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-08 09:01:59,750 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-08 09:01:59,751 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-08 09:01:59,751 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-08 09:01:59,751 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-08 09:01:59,752 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-08 09:01:59,752 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-08 09:01:59,752 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-08 09:01:59,753 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-08 09:01:59,753 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-08 09:01:59,754 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-08 09:01:59,754 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-08 09:01:59,754 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-08 09:01:59,754 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-08 09:01:59,755 INFO L290 TraceCheckUtils]: 75: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 09:01:59,755 INFO L290 TraceCheckUtils]: 76: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 09:01:59,755 INFO L290 TraceCheckUtils]: 77: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 09:01:59,755 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-08 09:01:59,756 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-08 09:01:59,756 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-08 09:01:59,756 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-08 09:01:59,756 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-08 09:01:59,756 INFO L290 TraceCheckUtils]: 83: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 09:01:59,756 INFO L290 TraceCheckUtils]: 84: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 09:01:59,757 INFO L290 TraceCheckUtils]: 85: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 09:01:59,757 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-08 09:01:59,757 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-08 09:01:59,758 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-08 09:01:59,758 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-08 09:01:59,758 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-08 09:01:59,758 INFO L290 TraceCheckUtils]: 91: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 09:01:59,759 INFO L290 TraceCheckUtils]: 92: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 09:01:59,759 INFO L290 TraceCheckUtils]: 93: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 09:01:59,759 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-08 09:01:59,759 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-08 09:01:59,760 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-08 09:01:59,760 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-08 09:01:59,761 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-08 09:01:59,761 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-08 09:01:59,761 INFO L290 TraceCheckUtils]: 100: Hoare triple {36240#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36155#false} is VALID [2022-04-08 09:01:59,762 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-08 09:01:59,762 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-08 09:01:59,762 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:01:59,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [21241361] [2022-04-08 09:01:59,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [21241361] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:01:59,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1874380243] [2022-04-08 09:01:59,762 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:01:59,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:01:59,763 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:01:59,763 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-08 09:01:59,765 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-08 09:01:59,892 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:01:59,892 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:01:59,894 INFO L263 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 09:01:59,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:01:59,914 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:01:59,970 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:01:59,970 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-08 09:02:00,037 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-08 09:02:00,126 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:02:00,127 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-08 09:02:00,202 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:02:00,202 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-08 09:02:00,289 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:02:00,289 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-08 09:02:00,809 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-08 09:02:01,871 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:02:01,872 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-08 09:02:01,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {36154#true} call ULTIMATE.init(); {36154#true} is VALID [2022-04-08 09:02:01,955 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-08 09:02:01,955 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-08 09:02:01,956 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-08 09:02:01,956 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-08 09:02:01,957 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-08 09:02:01,957 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-08 09:02:01,957 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-08 09:02:01,958 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-08 09:02:01,958 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-08 09:02:01,959 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-08 09:02:01,965 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-08 09:02:01,965 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-08 09:02:01,966 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-08 09:02:01,967 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-08 09:02:01,967 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-08 09:02:01,975 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-08 09:02:01,975 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-08 09:02:01,976 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-08 09:02:01,976 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-08 09:02:01,977 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-08 09:02:01,977 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-08 09:02:01,977 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-08 09:02:01,978 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-08 09:02:01,978 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-08 09:02:01,979 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-08 09:02:01,979 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-08 09:02:01,979 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-08 09:02:01,980 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-08 09:02:01,980 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-08 09:02:01,980 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-08 09:02:01,981 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-08 09:02:01,981 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-08 09:02:01,982 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-08 09:02:01,982 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-08 09:02:01,983 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-08 09:02:01,984 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-08 09:02:01,984 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-08 09:02:01,985 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-08 09:02:01,985 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-08 09:02:01,986 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-08 09:02:01,986 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-08 09:02:01,992 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-08 09:02:01,993 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-08 09:02:01,993 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-08 09:02:01,994 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-08 09:02:01,996 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-08 09:02:01,996 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-08 09:02:01,997 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-08 09:02:01,997 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-08 09:02:01,998 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-08 09:02:01,998 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-08 09:02:01,999 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-08 09:02:02,000 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-08 09:02:02,000 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-08 09:02:02,001 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-08 09:02:02,002 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-08 09:02:02,003 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-08 09:02:02,004 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-08 09:02:02,004 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-08 09:02:02,005 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-08 09:02:02,005 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-08 09:02:02,006 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-08 09:02:02,008 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-08 09:02:02,008 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-08 09:02:02,009 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-08 09:02:02,009 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-08 09:02:02,011 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-08 09:02:02,012 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-08 09:02:02,012 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-08 09:02:02,012 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-08 09:02:02,013 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-08 09:02:02,014 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-08 09:02:02,014 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-08 09:02:02,015 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-08 09:02:02,015 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-08 09:02:02,016 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-08 09:02:02,016 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-08 09:02:02,016 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-08 09:02:02,017 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-08 09:02:02,017 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-08 09:02:02,018 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-08 09:02:02,019 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-08 09:02:02,019 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-08 09:02:02,019 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-08 09:02:02,019 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-08 09:02:02,020 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-08 09:02:02,020 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-08 09:02:02,021 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-08 09:02:02,021 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-08 09:02:02,022 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-08 09:02:02,022 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-08 09:02:02,023 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-08 09:02:02,023 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-08 09:02:02,024 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-08 09:02:02,024 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-08 09:02:02,024 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-08 09:02:02,025 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-08 09:02:02,025 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-08 09:02:02,026 INFO L290 TraceCheckUtils]: 99: Hoare triple {36557#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {36561#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:02:02,026 INFO L290 TraceCheckUtils]: 100: Hoare triple {36561#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {36155#false} is VALID [2022-04-08 09:02:02,026 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-08 09:02:02,027 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-08 09:02:02,027 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:02:02,335 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-08 09:02:02,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1874380243] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:02:02,336 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:02:02,336 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 39 [2022-04-08 09:02:02,336 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:02:02,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [560790750] [2022-04-08 09:02:02,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [560790750] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:02:02,336 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:02:02,337 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 09:02:02,337 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1052259636] [2022-04-08 09:02:02,337 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:02:02,337 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-08 09:02:02,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:02:02,337 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-08 09:02:02,383 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-08 09:02:02,383 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 09:02:02,383 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:02:02,383 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 09:02:02,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=1802, Unknown=11, NotChecked=86, Total=2070 [2022-04-08 09:02:02,384 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-08 09:02:09,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:02:09,686 INFO L93 Difference]: Finished difference Result 631 states and 853 transitions. [2022-04-08 09:02:09,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 09:02:09,687 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-08 09:02:09,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:02:09,687 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-08 09:02:09,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-08 09:02:09,688 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-08 09:02:09,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-08 09:02:09,689 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 85 transitions. [2022-04-08 09:02:09,772 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-08 09:02:09,787 INFO L225 Difference]: With dead ends: 631 [2022-04-08 09:02:09,788 INFO L226 Difference]: Without dead ends: 629 [2022-04-08 09:02:09,788 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 113 SyntacticMatches, 12 SemanticMatches, 63 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1148 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=435, Invalid=3584, Unknown=17, NotChecked=124, Total=4160 [2022-04-08 09:02:09,788 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 130 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 703 mSolverCounterSat, 147 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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-08 09:02:09,789 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-08 09:02:09,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 629 states. [2022-04-08 09:02:14,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 629 to 618. [2022-04-08 09:02:14,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:02:14,680 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-08 09:02:14,681 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-08 09:02:14,681 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-08 09:02:14,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:02:14,693 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-08 09:02:14,693 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-08 09:02:14,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:02:14,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:02:14,695 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-08 09:02:14,695 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-08 09:02:14,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:02:14,707 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-08 09:02:14,707 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-08 09:02:14,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:02:14,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:02:14,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:02:14,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:02:14,709 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-08 09:02:14,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 838 transitions. [2022-04-08 09:02:14,727 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 838 transitions. Word has length 102 [2022-04-08 09:02:14,727 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:02:14,727 INFO L478 AbstractCegarLoop]: Abstraction has 618 states and 838 transitions. [2022-04-08 09:02:14,727 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-08 09:02:14,727 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 838 transitions. [2022-04-08 09:02:17,688 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-08 09:02:17,688 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 838 transitions. [2022-04-08 09:02:17,689 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:02:17,689 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:02:17,689 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-08 09:02:17,706 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2022-04-08 09:02:17,890 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-08 09:02:17,890 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:02:17,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:02:17,890 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 9 times [2022-04-08 09:02:17,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:02:17,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [547655499] [2022-04-08 09:02:17,892 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:02:17,892 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:02:17,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 10 times [2022-04-08 09:02:17,893 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:02:17,893 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [740892443] [2022-04-08 09:02:17,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:02:17,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:02:17,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,086 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:02:18,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,102 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-08 09:02:18,103 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-08 09:02:18,103 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-08 09:02:18,107 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:02:18,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,362 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-08 09:02:18,362 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-08 09:02:18,363 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-08 09:02:18,363 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-08 09:02:18,364 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-08 09:02:18,364 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-08 09:02:18,365 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-08 09:02:18,365 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-08 09:02:18,366 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-08 09:02:18,366 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-08 09:02:18,367 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-08 09:02:18,367 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-08 09:02:18,368 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-08 09:02:18,368 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-08 09:02:18,368 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-08 09:02:18,369 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-08 09:02:18,369 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-08 09:02:18,369 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-08 09:02:18,370 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-08 09:02:18,370 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-08 09:02:18,370 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-08 09:02:18,370 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-08 09:02:18,371 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-08 09:02:18,371 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-08 09:02:18,371 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-08 09:02:18,372 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-08 09:02:18,372 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-08 09:02:18,372 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-08 09:02:18,373 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-08 09:02:18,373 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-08 09:02:18,373 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-08 09:02:18,373 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-08 09:02:18,374 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-08 09:02:18,374 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-08 09:02:18,374 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-08 09:02:18,375 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-08 09:02:18,375 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-08 09:02:18,375 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-08 09:02:18,375 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-08 09:02:18,376 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-08 09:02:18,376 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-08 09:02:18,376 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-08 09:02:18,376 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-08 09:02:18,377 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-08 09:02:18,377 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-08 09:02:18,377 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-08 09:02:18,378 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-08 09:02:18,378 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-08 09:02:18,378 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-08 09:02:18,378 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-08 09:02:18,379 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-08 09:02:18,379 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-08 09:02:18,379 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-08 09:02:18,380 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-08 09:02:18,380 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:02:18,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,383 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,383 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,383 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:02:18,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,385 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,386 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:02:18,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,388 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,388 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:02:18,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,390 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,391 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-08 09:02:18,391 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-08 09:02:18,392 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-08 09:02:18,392 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-08 09:02:18,393 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-08 09:02:18,393 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-08 09:02:18,394 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-08 09:02:18,394 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-08 09:02:18,395 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-08 09:02:18,396 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-08 09:02:18,396 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-08 09:02:18,397 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-08 09:02:18,397 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-08 09:02:18,398 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-08 09:02:18,398 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-08 09:02:18,399 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-08 09:02:18,399 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-08 09:02:18,400 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-08 09:02:18,400 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-08 09:02:18,400 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-08 09:02:18,401 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-08 09:02:18,401 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-08 09:02:18,402 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-08 09:02:18,402 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-08 09:02:18,403 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-08 09:02:18,404 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-08 09:02:18,404 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-08 09:02:18,404 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-08 09:02:18,405 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-08 09:02:18,405 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-08 09:02:18,406 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-08 09:02:18,406 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-08 09:02:18,406 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-08 09:02:18,407 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-08 09:02:18,407 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-08 09:02:18,407 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-08 09:02:18,408 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-08 09:02:18,408 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-08 09:02:18,408 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-08 09:02:18,408 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-08 09:02:18,409 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-08 09:02:18,409 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-08 09:02:18,409 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-08 09:02:18,410 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-08 09:02:18,410 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-08 09:02:18,410 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-08 09:02:18,410 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-08 09:02:18,411 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-08 09:02:18,411 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-08 09:02:18,411 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-08 09:02:18,411 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-08 09:02:18,412 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-08 09:02:18,412 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-08 09:02:18,412 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-08 09:02:18,413 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-08 09:02:18,413 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-08 09:02:18,413 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-08 09:02:18,413 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-08 09:02:18,414 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-08 09:02:18,414 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-08 09:02:18,414 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-08 09:02:18,414 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-08 09:02:18,415 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-08 09:02:18,415 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-08 09:02:18,415 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-08 09:02:18,416 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-08 09:02:18,416 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-08 09:02:18,416 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-08 09:02:18,416 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-08 09:02:18,417 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-08 09:02:18,417 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-08 09:02:18,417 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-08 09:02:18,417 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-08 09:02:18,418 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-08 09:02:18,418 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-08 09:02:18,418 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,418 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,418 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,418 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,418 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:18,418 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-08 09:02:18,418 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-08 09:02:18,418 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-08 09:02:18,418 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,418 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,418 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,418 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,418 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:18,419 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-08 09:02:18,419 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-08 09:02:18,419 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-08 09:02:18,419 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,419 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,419 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,419 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,419 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:18,419 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-08 09:02:18,419 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-08 09:02:18,419 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-08 09:02:18,419 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:18,419 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:18,419 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:18,419 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:18,420 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:18,420 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-08 09:02:18,420 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-08 09:02:18,420 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-08 09:02:18,420 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 09:02:18,420 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-08 09:02:18,420 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-08 09:02:18,420 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-08 09:02:18,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:02:18,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [740892443] [2022-04-08 09:02:18,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [740892443] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:02:18,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1740199213] [2022-04-08 09:02:18,421 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:02:18,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:02:18,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:02:18,422 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-08 09:02:18,424 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-08 09:02:18,564 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:02:18,564 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:02:18,566 INFO L263 TraceCheckSpWp]: Trace formula consists of 326 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-08 09:02:18,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:18,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:02:19,067 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 09:02:19,068 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-08 09:02:19,391 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 09:02:19,391 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-08 09:02:19,830 INFO L356 Elim1Store]: treesize reduction 273, result has 8.1 percent of original size [2022-04-08 09:02:19,830 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-08 09:02:19,970 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-08 09:02:19,971 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-08 09:02:20,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-08 09:02:20,070 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-08 09:02:20,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:20,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-08 09:02:20,070 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-08 09:02:20,070 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-08 09:02:20,070 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-08 09:02:20,070 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-08 09:02:20,070 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-08 09:02:20,070 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-08 09:02:20,070 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-08 09:02:20,070 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-08 09:02:20,071 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-08 09:02:20,071 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-08 09:02:20,071 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-08 09:02:20,071 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-08 09:02:20,071 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-08 09:02:20,071 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-08 09:02:20,071 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-08 09:02:20,072 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-08 09:02:20,072 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-08 09:02:20,073 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-08 09:02:20,073 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-08 09:02:20,074 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-08 09:02:20,074 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-08 09:02:20,075 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-08 09:02:20,075 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-08 09:02:20,076 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-08 09:02:20,076 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-08 09:02:20,077 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-08 09:02:20,077 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-08 09:02:20,077 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-08 09:02:20,078 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-08 09:02:20,079 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-08 09:02:20,079 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-08 09:02:20,080 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-08 09:02:20,080 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-08 09:02:20,081 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-08 09:02:20,081 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-08 09:02:20,081 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-08 09:02:20,082 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-08 09:02:20,082 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-08 09:02:20,083 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-08 09:02:20,083 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-08 09:02:20,084 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-08 09:02:20,084 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-08 09:02:20,085 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-08 09:02:20,085 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-08 09:02:20,086 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-08 09:02:20,086 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-08 09:02:20,087 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-08 09:02:20,087 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-08 09:02:20,088 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-08 09:02:20,088 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-08 09:02:20,089 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-08 09:02:20,089 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-08 09:02:20,090 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-08 09:02:20,091 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-08 09:02:20,091 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-08 09:02:20,091 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-08 09:02:20,092 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-08 09:02:20,092 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-08 09:02:20,092 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 09:02:20,092 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-08 09:02:20,092 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-08 09:02:20,092 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-08 09:02:20,092 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 09:02:20,092 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-08 09:02:20,092 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-08 09:02:20,092 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-08 09:02:20,093 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-08 09:02:20,093 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-08 09:02:20,093 INFO L290 TraceCheckUtils]: 75: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L290 TraceCheckUtils]: 76: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L290 TraceCheckUtils]: 77: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:20,093 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-08 09:02:20,093 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-08 09:02:20,093 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-08 09:02:20,093 INFO L290 TraceCheckUtils]: 83: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 09:02:20,093 INFO L290 TraceCheckUtils]: 84: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 09:02:20,094 INFO L290 TraceCheckUtils]: 85: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 09:02:20,094 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:20,094 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:20,094 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-08 09:02:20,094 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-08 09:02:20,094 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-08 09:02:20,094 INFO L290 TraceCheckUtils]: 91: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 09:02:20,094 INFO L290 TraceCheckUtils]: 92: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 09:02:20,094 INFO L290 TraceCheckUtils]: 93: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 09:02:20,094 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:20,094 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:20,094 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-08 09:02:20,094 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-08 09:02:20,094 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-08 09:02:20,094 INFO L290 TraceCheckUtils]: 99: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 09:02:20,095 INFO L290 TraceCheckUtils]: 100: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 09:02:20,095 INFO L290 TraceCheckUtils]: 101: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 09:02:20,095 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:20,095 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:20,095 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-08 09:02:20,095 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-08 09:02:20,095 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-08 09:02:20,095 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 09:02:20,095 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-08 09:02:20,095 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-08 09:02:20,096 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-08 09:02:20,096 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:02:27,610 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-08 09:02:27,759 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-08 09:02:27,759 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-08 09:02:30,218 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-08 09:02:30,218 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-08 09:02:30,218 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 09:02:30,218 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-08 09:02:30,218 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-08 09:02:30,218 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-08 09:02:30,218 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:30,218 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:30,218 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:30,218 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:30,218 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:30,219 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-08 09:02:30,219 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-08 09:02:30,219 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-08 09:02:30,219 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:30,219 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:30,219 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:30,219 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:30,219 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:30,219 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-08 09:02:30,219 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-08 09:02:30,219 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-08 09:02:30,219 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:30,219 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:30,219 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:30,219 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:30,220 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:30,220 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-08 09:02:30,220 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-08 09:02:30,220 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-08 09:02:30,220 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 09:02:30,220 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 09:02:30,220 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:30,220 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 09:02:30,220 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 09:02:30,220 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-08 09:02:30,220 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-08 09:02:30,220 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-08 09:02:30,220 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-08 09:02:30,220 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 09:02:30,220 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-08 09:02:30,221 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-08 09:02:30,221 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-08 09:02:30,221 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 09:02:30,221 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-08 09:02:30,221 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-08 09:02:30,221 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-08 09:02:30,221 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 09:02:30,221 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-08 09:02:30,221 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-08 09:02:30,222 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-08 09:02:30,223 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-08 09:02:30,223 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-08 09:02:30,224 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-08 09:02:30,225 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-08 09:02:30,225 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-08 09:02:30,226 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-08 09:02:30,226 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-08 09:02:30,228 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-08 09:02:30,229 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-08 09:02:30,229 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-08 09:02:30,230 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-08 09:02:30,232 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-08 09:02:30,233 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-08 09:02:30,233 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-08 09:02:30,234 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-08 09:02:30,234 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-08 09:02:30,235 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-08 09:02:30,236 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-08 09:02:30,237 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-08 09:02:30,238 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-08 09:02:30,242 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-08 09:02:30,242 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-08 09:02:30,243 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-08 09:02:30,244 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-08 09:02:30,245 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-08 09:02:30,246 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-08 09:02:30,248 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-08 09:02:30,249 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-08 09:02:30,251 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-08 09:02:30,251 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-08 09:02:30,255 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-08 09:02:30,255 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-08 09:02:30,257 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-08 09:02:30,260 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-08 09:02:30,262 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-08 09:02:30,262 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-08 09:02:30,266 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-08 09:02:30,267 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-08 09:02:30,270 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-08 09:02:30,270 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-08 09:02:30,271 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-08 09:02:30,271 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-08 09:02:30,271 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 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-08 09:02:30,271 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-08 09:02:30,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-08 09:02:30,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 09:02:30,272 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-08 09:02:30,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-08 09:02:30,272 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-08 09:02:30,272 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1740199213] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:02:30,273 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:02:30,273 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 25, 24] total 60 [2022-04-08 09:02:30,273 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:02:30,273 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [547655499] [2022-04-08 09:02:30,273 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [547655499] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:02:30,273 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:02:30,273 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 09:02:30,273 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1001209579] [2022-04-08 09:02:30,273 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:02:30,274 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-08 09:02:30,274 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:02:30,274 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-08 09:02:30,305 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-08 09:02:30,306 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 09:02:30,306 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:02:30,306 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 09:02:30,306 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=240, Invalid=3299, Unknown=1, NotChecked=0, Total=3540 [2022-04-08 09:02:30,306 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-08 09:02:35,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:02:35,853 INFO L93 Difference]: Finished difference Result 1142 states and 1560 transitions. [2022-04-08 09:02:35,853 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 09:02:35,853 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-08 09:02:35,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:02:35,853 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-08 09:02:35,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-08 09:02:35,854 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-08 09:02:35,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-08 09:02:35,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 72 transitions. [2022-04-08 09:02:35,915 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-08 09:02:35,929 INFO L225 Difference]: With dead ends: 1142 [2022-04-08 09:02:35,929 INFO L226 Difference]: Without dead ends: 563 [2022-04-08 09:02:35,930 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 260 GetRequests, 192 SyntacticMatches, 0 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1462 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=380, Invalid=4449, Unknown=1, NotChecked=0, Total=4830 [2022-04-08 09:02:35,930 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-08 09:02:35,931 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-08 09:02:35,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 563 states. [2022-04-08 09:02:40,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 563 to 563. [2022-04-08 09:02:40,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:02:40,388 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-08 09:02:40,388 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-08 09:02:40,388 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-08 09:02:40,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:02:40,406 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-08 09:02:40,406 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-08 09:02:40,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:02:40,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:02:40,407 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-08 09:02:40,407 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-08 09:02:40,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:02:40,417 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-08 09:02:40,417 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-08 09:02:40,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:02:40,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:02:40,417 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:02:40,417 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:02:40,418 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-08 09:02:40,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 563 states to 563 states and 767 transitions. [2022-04-08 09:02:40,430 INFO L78 Accepts]: Start accepts. Automaton has 563 states and 767 transitions. Word has length 110 [2022-04-08 09:02:40,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:02:40,431 INFO L478 AbstractCegarLoop]: Abstraction has 563 states and 767 transitions. [2022-04-08 09:02:40,431 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-08 09:02:40,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 563 states and 767 transitions. [2022-04-08 09:02:43,106 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-08 09:02:43,107 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-08 09:02:43,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:02:43,108 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:02:43,108 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-08 09:02:43,126 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-08 09:02:43,308 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-08 09:02:43,308 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:02:43,309 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:02:43,309 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 11 times [2022-04-08 09:02:43,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:02:43,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1771024830] [2022-04-08 09:02:43,311 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:02:43,311 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:02:43,311 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 12 times [2022-04-08 09:02:43,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:02:43,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [213185434] [2022-04-08 09:02:43,311 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:02:43,311 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:02:43,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:43,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:02:43,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:43,502 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-08 09:02:43,503 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-08 09:02:43,503 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-08 09:02:43,508 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:02:43,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:44,175 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-08 09:02:44,175 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-08 09:02:44,176 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-08 09:02:44,177 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-08 09:02:44,177 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-08 09:02:44,178 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-08 09:02:44,178 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-08 09:02:44,179 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-08 09:02:44,179 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-08 09:02:44,180 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-08 09:02:44,181 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-08 09:02:44,181 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-08 09:02:44,182 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-08 09:02:44,183 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-08 09:02:44,183 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-08 09:02:44,184 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-08 09:02:44,185 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-08 09:02:44,186 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-08 09:02:44,187 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-08 09:02:44,187 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-08 09:02:44,188 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-08 09:02:44,188 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-08 09:02:44,189 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-08 09:02:44,190 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-08 09:02:44,190 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 INFO L290 TraceCheckUtils]: 27: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,191 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-08 09:02:44,192 INFO L290 TraceCheckUtils]: 37: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,192 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-08 09:02:44,192 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-08 09:02:44,192 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,193 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 09:02:44,193 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-08 09:02:44,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:02:44,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:44,195 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,196 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:02:44,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:44,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:02:44,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:44,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:02:44,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:44,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,210 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-08 09:02:44,211 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-08 09:02:44,211 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-08 09:02:44,212 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-08 09:02:44,212 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-08 09:02:44,213 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-08 09:02:44,213 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-08 09:02:44,214 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-08 09:02:44,214 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-08 09:02:44,215 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-08 09:02:44,215 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-08 09:02:44,216 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-08 09:02:44,216 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-08 09:02:44,217 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-08 09:02:44,217 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-08 09:02:44,218 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-08 09:02:44,218 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-08 09:02:44,219 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-08 09:02:44,219 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-08 09:02:44,219 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-08 09:02:44,220 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-08 09:02:44,220 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-08 09:02:44,221 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-08 09:02:44,222 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-08 09:02:44,222 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-08 09:02:44,223 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-08 09:02:44,223 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-08 09:02:44,224 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-08 09:02:44,225 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-08 09:02:44,225 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-08 09:02:44,226 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-08 09:02:44,227 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-08 09:02:44,227 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-08 09:02:44,228 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-08 09:02:44,229 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-08 09:02:44,230 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-08 09:02:44,231 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-08 09:02:44,231 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-08 09:02:44,232 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-08 09:02:44,232 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-08 09:02:44,233 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-08 09:02:44,234 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-08 09:02:44,234 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,235 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-08 09:02:44,236 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,236 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-08 09:02:44,236 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-08 09:02:44,236 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:44,237 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 09:02:44,237 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-08 09:02:44,237 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-08 09:02:44,237 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-08 09:02:44,237 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-08 09:02:44,237 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,237 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,237 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,237 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,237 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:44,237 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-08 09:02:44,237 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-08 09:02:44,237 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-08 09:02:44,237 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,237 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,238 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,238 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,238 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:44,238 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-08 09:02:44,238 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-08 09:02:44,238 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-08 09:02:44,238 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,238 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,238 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,238 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,238 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:44,238 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-08 09:02:44,238 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-08 09:02:44,238 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-08 09:02:44,238 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:02:44,239 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:02:44,239 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:02:44,239 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:44,239 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:44,239 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-08 09:02:44,239 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-08 09:02:44,239 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-08 09:02:44,239 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 09:02:44,239 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-08 09:02:44,239 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-08 09:02:44,240 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-08 09:02:44,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:02:44,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [213185434] [2022-04-08 09:02:44,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [213185434] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:02:44,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [327436913] [2022-04-08 09:02:44,240 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 09:02:44,240 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:02:44,240 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:02:44,241 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-08 09:02:44,251 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-08 09:02:44,535 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-08 09:02:44,536 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:02:44,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-08 09:02:44,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:02:44,560 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:02:45,711 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:02:45,712 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:02:45,713 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:02:45,731 INFO L356 Elim1Store]: treesize reduction 99, result has 22.0 percent of original size [2022-04-08 09:02:45,732 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-08 09:02:46,782 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 09:02:46,783 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:02:46,784 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:02:46,784 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 09:02:46,788 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 09:02:46,789 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-08 09:02:46,949 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-08 09:02:46,949 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-08 09:02:46,950 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-08 09:02:46,950 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-08 09:02:46,950 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-08 09:02:46,951 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-08 09:02:46,951 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-08 09:02:46,952 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-08 09:02:46,952 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-08 09:02:46,952 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-08 09:02:46,953 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-08 09:02:46,953 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-08 09:02:46,953 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-08 09:02:46,954 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-08 09:02:46,954 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-08 09:02:46,954 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-08 09:02:46,955 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-08 09:02:46,955 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-08 09:02:46,955 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-08 09:02:46,956 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-08 09:02:46,956 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-08 09:02:46,957 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-08 09:02:46,957 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-08 09:02:46,958 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-08 09:02:46,958 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-08 09:02:46,959 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-08 09:02:46,959 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-08 09:02:46,960 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-08 09:02:46,961 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-08 09:02:46,962 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-08 09:02:46,962 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-08 09:02:46,963 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-08 09:02:46,964 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-08 09:02:46,966 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-08 09:02:46,967 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-08 09:02:46,967 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-08 09:02:46,968 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-08 09:02:46,969 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-08 09:02:46,978 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-08 09:02:46,979 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-08 09:02:46,980 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-08 09:02:46,981 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-08 09:02:46,982 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-08 09:02:46,982 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-08 09:02:46,982 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-08 09:02:46,982 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:46,982 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,983 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-08 09:02:46,984 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:46,984 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-08 09:02:46,984 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-08 09:02:46,984 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-08 09:02:46,984 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:46,984 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-08 09:02:46,984 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-08 09:02:46,984 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-08 09:02:46,984 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 09:02:46,984 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-08 09:02:46,984 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-08 09:02:46,984 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-08 09:02:46,984 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-08 09:02:46,984 INFO L290 TraceCheckUtils]: 75: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 09:02:46,984 INFO L290 TraceCheckUtils]: 76: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L290 TraceCheckUtils]: 77: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:46,985 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-08 09:02:46,985 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-08 09:02:46,985 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-08 09:02:46,985 INFO L290 TraceCheckUtils]: 83: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L290 TraceCheckUtils]: 84: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L290 TraceCheckUtils]: 85: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:46,985 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-08 09:02:46,985 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-08 09:02:46,985 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-08 09:02:46,985 INFO L290 TraceCheckUtils]: 91: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 09:02:46,985 INFO L290 TraceCheckUtils]: 92: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 09:02:46,986 INFO L290 TraceCheckUtils]: 93: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 09:02:46,986 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:46,986 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:46,986 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-08 09:02:46,986 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-08 09:02:46,986 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-08 09:02:46,986 INFO L290 TraceCheckUtils]: 99: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 09:02:46,986 INFO L290 TraceCheckUtils]: 100: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 09:02:46,986 INFO L290 TraceCheckUtils]: 101: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 09:02:46,986 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:02:46,986 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:02:46,986 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-08 09:02:46,986 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-08 09:02:46,986 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-08 09:02:46,987 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 09:02:46,987 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-08 09:02:46,987 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-08 09:02:46,987 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-08 09:02:46,987 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:02:48,160 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-08 09:02:48,549 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-08 09:02:48,649 INFO L356 Elim1Store]: treesize reduction 78, result has 41.4 percent of original size [2022-04-08 09:02:48,650 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-08 09:02:56,084 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-08 09:02:56,256 INFO L356 Elim1Store]: treesize reduction 109, result has 56.6 percent of original size [2022-04-08 09:02:56,257 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-08 09:03:10,214 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-08 09:03:10,215 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-08 09:03:10,215 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 09:03:10,215 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-08 09:03:10,215 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-08 09:03:10,215 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-08 09:03:10,215 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:03:10,215 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:03:10,215 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:03:10,215 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:03:10,215 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:03:10,215 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-08 09:03:10,216 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-08 09:03:10,216 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-08 09:03:10,216 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:03:10,216 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:03:10,216 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:03:10,216 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:03:10,216 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:03:10,216 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-08 09:03:10,216 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-08 09:03:10,216 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-08 09:03:10,216 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:03:10,216 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:03:10,216 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:03:10,216 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:03:10,216 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:03:10,217 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-08 09:03:10,217 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-08 09:03:10,217 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-08 09:03:10,217 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 09:03:10,217 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 09:03:10,217 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 09:03:10,217 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 09:03:10,217 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 09:03:10,217 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-08 09:03:10,217 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-08 09:03:10,217 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-08 09:03:10,223 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-08 09:03:10,224 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-08 09:03:10,225 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-08 09:03:10,225 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-08 09:03:10,226 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-08 09:03:10,226 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-08 09:03:10,227 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-08 09:03:10,227 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-08 09:03:10,228 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-08 09:03:10,229 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-08 09:03:10,229 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-08 09:03:10,230 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-08 09:03:10,230 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-08 09:03:10,231 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-08 09:03:10,231 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-08 09:03:10,232 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-08 09:03:10,232 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-08 09:03:10,233 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-08 09:03:10,233 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-08 09:03:10,234 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-08 09:03:10,234 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-08 09:03:10,235 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-08 09:03:10,235 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-08 09:03:10,236 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-08 09:03:10,236 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-08 09:03:10,237 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-08 09:03:10,237 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-08 09:03:10,238 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-08 09:03:10,238 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-08 09:03:10,239 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-08 09:03:10,240 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-08 09:03:10,241 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-08 09:03:10,241 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-08 09:03:10,242 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-08 09:03:10,243 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-08 09:03:10,244 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-08 09:03:10,245 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-08 09:03:10,246 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-08 09:03:10,247 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-08 09:03:10,248 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-08 09:03:10,249 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-08 09:03:10,250 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-08 09:03:10,251 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-08 09:03:10,254 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-08 09:03:10,255 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-08 09:03:10,256 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-08 09:03:10,257 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-08 09:03:10,258 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-08 09:03:10,260 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-08 09:03:10,261 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-08 09:03:10,263 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-08 09:03:10,265 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-08 09:03:10,266 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-08 09:03:10,266 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-08 09:03:10,266 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-08 09:03:10,267 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-08 09:03:10,267 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-08 09:03:10,268 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-08 09:03:10,268 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-08 09:03:10,268 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-08 09:03:10,269 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-08 09:03:10,269 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-08 09:03:10,269 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-08 09:03:10,270 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-08 09:03:10,270 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-08 09:03:10,271 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-08 09:03:10,271 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-08 09:03:10,271 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-08 09:03:10,272 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-08 09:03:10,272 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-08 09:03:10,273 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-08 09:03:10,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-08 09:03:10,274 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-08 09:03:10,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [327436913] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:03:10,274 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:03:10,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 22, 25] total 69 [2022-04-08 09:03:10,274 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:03:10,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1771024830] [2022-04-08 09:03:10,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1771024830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:03:10,274 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:03:10,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-08 09:03:10,274 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2147424097] [2022-04-08 09:03:10,274 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:03:10,275 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-08 09:03:10,275 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:03:10,275 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-08 09:03:10,329 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-08 09:03:10,329 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-08 09:03:10,329 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:03:10,329 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-08 09:03:10,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=408, Invalid=4284, Unknown=0, NotChecked=0, Total=4692 [2022-04-08 09:03:10,330 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-08 09:03:27,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:03:27,167 INFO L93 Difference]: Finished difference Result 1276 states and 1722 transitions. [2022-04-08 09:03:27,167 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 73 states. [2022-04-08 09:03:27,167 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-08 09:03:27,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:03:27,167 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-08 09:03:27,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-08 09:03:27,169 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-08 09:03:27,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-08 09:03:27,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 193 transitions. [2022-04-08 09:03:27,422 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-08 09:03:27,461 INFO L225 Difference]: With dead ends: 1276 [2022-04-08 09:03:27,462 INFO L226 Difference]: Without dead ends: 954 [2022-04-08 09:03:27,463 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 332 GetRequests, 195 SyntacticMatches, 1 SemanticMatches, 136 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5576 ImplicationChecksByTransitivity, 8.9s TimeCoverageRelationStatistics Valid=1857, Invalid=17049, Unknown=0, NotChecked=0, Total=18906 [2022-04-08 09:03:27,464 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 194 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 860 mSolverCounterSat, 281 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 195 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 1141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 281 IncrementalHoareTripleChecker+Valid, 860 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 09:03:27,464 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-08 09:03:27,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 954 states. [2022-04-08 09:03:32,729 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 954 to 611. [2022-04-08 09:03:32,729 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:03:32,730 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-08 09:03:32,730 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-08 09:03:32,730 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-08 09:03:32,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:03:32,756 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-08 09:03:32,756 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-08 09:03:32,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:03:32,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:03:32,757 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-08 09:03:32,757 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-08 09:03:32,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:03:32,782 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-08 09:03:32,782 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-08 09:03:32,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:03:32,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:03:32,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:03:32,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:03:32,783 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-08 09:03:32,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 611 states to 611 states and 831 transitions. [2022-04-08 09:03:32,798 INFO L78 Accepts]: Start accepts. Automaton has 611 states and 831 transitions. Word has length 110 [2022-04-08 09:03:32,798 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:03:32,798 INFO L478 AbstractCegarLoop]: Abstraction has 611 states and 831 transitions. [2022-04-08 09:03:32,798 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-08 09:03:32,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 611 states and 831 transitions. [2022-04-08 09:03:36,002 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-08 09:03:36,003 INFO L276 IsEmpty]: Start isEmpty. Operand 611 states and 831 transitions. [2022-04-08 09:03:36,004 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:03:36,004 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:03:36,004 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-08 09:03:36,021 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Ended with exit code 0 [2022-04-08 09:03:36,213 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-08 09:03:36,213 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:03:36,213 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:03:36,213 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 13 times [2022-04-08 09:03:36,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:03:36,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [790555661] [2022-04-08 09:03:36,215 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:03:36,215 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:03:36,215 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 14 times [2022-04-08 09:03:36,215 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:03:36,215 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1492590235] [2022-04-08 09:03:36,215 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:03:36,215 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:03:36,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:36,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:03:36,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:36,301 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-08 09:03:36,302 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-08 09:03:36,302 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-08 09:03:36,305 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:03:36,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:36,789 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-08 09:03:36,789 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-08 09:03:36,789 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-08 09:03:36,790 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-08 09:03:36,791 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-08 09:03:36,791 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-08 09:03:36,792 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-08 09:03:36,792 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-08 09:03:36,793 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-08 09:03:36,793 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-08 09:03:36,794 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-08 09:03:36,794 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-08 09:03:36,795 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-08 09:03:36,796 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-08 09:03:36,797 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-08 09:03:36,798 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-08 09:03:36,799 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-08 09:03:36,799 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-08 09:03:36,800 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-08 09:03:36,800 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-08 09:03:36,800 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-08 09:03:36,801 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-08 09:03:36,801 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-08 09:03:36,801 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-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,802 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-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 INFO L290 TraceCheckUtils]: 37: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 INFO L290 TraceCheckUtils]: 44: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 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-08 09:03:36,803 INFO L290 TraceCheckUtils]: 48: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,803 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-08 09:03:36,804 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-08 09:03:36,804 INFO L290 TraceCheckUtils]: 51: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,804 INFO L290 TraceCheckUtils]: 52: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-08 09:03:36,804 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-08 09:03:36,804 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:03:36,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:36,806 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,806 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:03:36,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:36,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,808 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:03:36,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:36,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,824 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:03:36,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:36,826 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,827 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-08 09:03:36,828 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-08 09:03:36,828 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-08 09:03:36,828 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-08 09:03:36,829 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-08 09:03:36,829 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-08 09:03:36,830 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-08 09:03:36,830 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-08 09:03:36,830 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-08 09:03:36,830 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-08 09:03:36,831 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-08 09:03:36,831 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-08 09:03:36,831 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-08 09:03:36,832 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-08 09:03:36,832 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-08 09:03:36,832 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-08 09:03:36,833 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-08 09:03:36,833 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-08 09:03:36,833 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-08 09:03:36,834 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-08 09:03:36,834 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-08 09:03:36,834 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-08 09:03:36,835 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-08 09:03:36,836 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-08 09:03:36,836 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-08 09:03:36,837 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-08 09:03:36,837 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-08 09:03:36,838 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-08 09:03:36,839 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-08 09:03:36,839 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-08 09:03:36,840 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-08 09:03:36,841 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-08 09:03:36,841 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-08 09:03:36,842 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-08 09:03:36,843 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-08 09:03:36,844 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-08 09:03:36,845 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-08 09:03:36,845 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-08 09:03:36,845 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-08 09:03:36,846 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-08 09:03:36,846 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-08 09:03:36,846 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 INFO L290 TraceCheckUtils]: 45: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 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-08 09:03:36,847 INFO L290 TraceCheckUtils]: 55: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 INFO L290 TraceCheckUtils]: 62: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 INFO L290 TraceCheckUtils]: 66: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,848 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-08 09:03:36,848 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-08 09:03:36,848 INFO L290 TraceCheckUtils]: 69: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-08 09:03:36,848 INFO L290 TraceCheckUtils]: 70: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-08 09:03:36,848 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-08 09:03:36,849 INFO L290 TraceCheckUtils]: 72: Hoare triple {52435#false} ~i~1 := 0; {52435#false} is VALID [2022-04-08 09:03:36,849 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-08 09:03:36,849 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-08 09:03:36,849 INFO L290 TraceCheckUtils]: 75: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,849 INFO L290 TraceCheckUtils]: 76: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,849 INFO L290 TraceCheckUtils]: 77: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,849 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,849 INFO L290 TraceCheckUtils]: 79: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 09:03:36,849 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-08 09:03:36,849 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-08 09:03:36,849 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-08 09:03:36,849 INFO L290 TraceCheckUtils]: 83: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,849 INFO L290 TraceCheckUtils]: 84: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,849 INFO L290 TraceCheckUtils]: 85: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,849 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,850 INFO L290 TraceCheckUtils]: 87: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 09:03:36,850 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-08 09:03:36,850 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-08 09:03:36,850 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-08 09:03:36,850 INFO L290 TraceCheckUtils]: 91: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,850 INFO L290 TraceCheckUtils]: 92: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,850 INFO L290 TraceCheckUtils]: 93: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,850 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,850 INFO L290 TraceCheckUtils]: 95: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 09:03:36,850 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-08 09:03:36,850 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-08 09:03:36,850 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-08 09:03:36,850 INFO L290 TraceCheckUtils]: 99: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 09:03:36,850 INFO L290 TraceCheckUtils]: 100: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 09:03:36,850 INFO L290 TraceCheckUtils]: 101: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 09:03:36,851 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 09:03:36,851 INFO L290 TraceCheckUtils]: 103: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 09:03:36,851 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-08 09:03:36,851 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-08 09:03:36,851 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-08 09:03:36,851 INFO L290 TraceCheckUtils]: 107: Hoare triple {52435#false} ~cond := #in~cond; {52435#false} is VALID [2022-04-08 09:03:36,851 INFO L290 TraceCheckUtils]: 108: Hoare triple {52435#false} assume 0 == ~cond; {52435#false} is VALID [2022-04-08 09:03:36,851 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-08 09:03:36,851 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-08 09:03:36,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:03:36,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1492590235] [2022-04-08 09:03:36,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1492590235] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:03:36,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [157392576] [2022-04-08 09:03:36,852 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:03:36,852 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:03:36,852 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:03:36,853 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-08 09:03:36,854 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-08 09:03:36,984 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:03:36,984 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:03:36,986 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 09:03:37,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:03:37,027 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:03:37,077 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:03:37,078 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-08 09:03:37,114 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-08 09:03:37,198 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:03:37,198 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-08 09:03:37,265 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:03:37,265 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-08 09:03:37,331 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:03:37,331 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-08 09:03:37,408 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:03:37,409 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-08 09:03:37,893 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-08 09:03:39,232 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:03:39,233 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-08 09:03:39,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {52434#true} call ULTIMATE.init(); {52434#true} is VALID [2022-04-08 09:03:39,316 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-08 09:03:39,317 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-08 09:03:39,317 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-08 09:03:39,317 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-08 09:03:39,318 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-08 09:03:39,318 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-08 09:03:39,319 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-08 09:03:39,319 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-08 09:03:39,320 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-08 09:03:39,320 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-08 09:03:39,321 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-08 09:03:39,321 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-08 09:03:39,322 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-08 09:03:39,322 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-08 09:03:39,323 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-08 09:03:39,323 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-08 09:03:39,324 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-08 09:03:39,324 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-08 09:03:39,324 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-08 09:03:39,325 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-08 09:03:39,325 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-08 09:03:39,325 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-08 09:03:39,326 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-08 09:03:39,326 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-08 09:03:39,326 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-08 09:03:39,327 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-08 09:03:39,327 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-08 09:03:39,327 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-08 09:03:39,328 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-08 09:03:39,328 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-08 09:03:39,328 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-08 09:03:39,329 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-08 09:03:39,329 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-08 09:03:39,330 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-08 09:03:39,330 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-08 09:03:39,331 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-08 09:03:39,331 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-08 09:03:39,332 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-08 09:03:39,332 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-08 09:03:39,333 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-08 09:03:39,333 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-08 09:03:39,334 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-08 09:03:39,334 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-08 09:03:39,335 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-08 09:03:39,335 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-08 09:03:39,337 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-08 09:03:39,337 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-08 09:03:39,338 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-08 09:03:39,338 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-08 09:03:39,339 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-08 09:03:39,339 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-08 09:03:39,340 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-08 09:03:39,340 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-08 09:03:39,341 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-08 09:03:39,341 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-08 09:03:39,343 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-08 09:03:39,343 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-08 09:03:39,344 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-08 09:03:39,344 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-08 09:03:39,345 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-08 09:03:39,345 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-08 09:03:39,346 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-08 09:03:39,347 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-08 09:03:39,348 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-08 09:03:39,348 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-08 09:03:39,349 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-08 09:03:39,350 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-08 09:03:39,350 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-08 09:03:39,351 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-08 09:03:39,351 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-08 09:03:39,352 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-08 09:03:39,352 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-08 09:03:39,353 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-08 09:03:39,354 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-08 09:03:39,354 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-08 09:03:39,354 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-08 09:03:39,355 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-08 09:03:39,355 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-08 09:03:39,356 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-08 09:03:39,356 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-08 09:03:39,356 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-08 09:03:39,357 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-08 09:03:39,357 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-08 09:03:39,358 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-08 09:03:39,358 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-08 09:03:39,359 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-08 09:03:39,359 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-08 09:03:39,359 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-08 09:03:39,360 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-08 09:03:39,361 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-08 09:03:39,361 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-08 09:03:39,361 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-08 09:03:39,362 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-08 09:03:39,362 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-08 09:03:39,363 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-08 09:03:39,363 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-08 09:03:39,363 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-08 09:03:39,364 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-08 09:03:39,364 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-08 09:03:39,365 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-08 09:03:39,365 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-08 09:03:39,366 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-08 09:03:39,366 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-08 09:03:39,366 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-08 09:03:39,367 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-08 09:03:39,367 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-08 09:03:39,368 INFO L290 TraceCheckUtils]: 107: Hoare triple {52868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:03:39,368 INFO L290 TraceCheckUtils]: 108: Hoare triple {52872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {52435#false} is VALID [2022-04-08 09:03:39,368 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-08 09:03:39,368 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-08 09:03:39,368 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:03:39,763 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-08 09:03:39,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [157392576] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:03:39,764 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:03:39,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-08 09:03:39,764 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:03:39,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [790555661] [2022-04-08 09:03:39,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [790555661] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:03:39,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:03:39,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 09:03:39,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1892006645] [2022-04-08 09:03:39,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:03:39,765 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-08 09:03:39,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:03:39,765 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-08 09:03:39,809 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-08 09:03:39,809 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 09:03:39,810 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:03:39,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 09:03:39,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=197, Invalid=2149, Unknown=10, NotChecked=94, Total=2450 [2022-04-08 09:03:39,810 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-08 09:03:54,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:03:54,643 INFO L93 Difference]: Finished difference Result 1355 states and 1832 transitions. [2022-04-08 09:03:54,643 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 57 states. [2022-04-08 09:03:54,644 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-08 09:03:54,644 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:03:54,644 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-08 09:03:54,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-08 09:03:54,645 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-08 09:03:54,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-08 09:03:54,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 179 transitions. [2022-04-08 09:03:54,841 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-08 09:03:54,885 INFO L225 Difference]: With dead ends: 1355 [2022-04-08 09:03:54,885 INFO L226 Difference]: Without dead ends: 973 [2022-04-08 09:03:54,886 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 122 SyntacticMatches, 12 SemanticMatches, 102 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 3126 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=1312, Invalid=9188, Unknown=10, NotChecked=202, Total=10712 [2022-04-08 09:03:54,887 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 288 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 251 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 288 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 251 IncrementalHoareTripleChecker+Valid, 466 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 09:03:54,887 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.7s Time] [2022-04-08 09:03:54,887 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 973 states. [2022-04-08 09:04:03,393 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 973 to 824. [2022-04-08 09:04:03,393 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:04:03,394 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-08 09:04:03,394 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-08 09:04:03,396 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-08 09:04:03,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:04:03,421 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-08 09:04:03,421 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-08 09:04:03,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:04:03,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:04:03,422 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-08 09:04:03,423 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-08 09:04:03,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:04:03,447 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-08 09:04:03,447 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-08 09:04:03,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:04:03,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:04:03,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:04:03,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:04:03,449 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-08 09:04:03,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 1123 transitions. [2022-04-08 09:04:03,476 INFO L78 Accepts]: Start accepts. Automaton has 824 states and 1123 transitions. Word has length 110 [2022-04-08 09:04:03,476 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:04:03,476 INFO L478 AbstractCegarLoop]: Abstraction has 824 states and 1123 transitions. [2022-04-08 09:04:03,476 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-08 09:04:03,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 824 states and 1123 transitions. [2022-04-08 09:04:08,649 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-08 09:04:08,650 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 1123 transitions. [2022-04-08 09:04:08,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:04:08,651 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:04:08,651 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-08 09:04:08,668 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-08 09:04:08,855 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-08 09:04:08,855 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:04:08,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:04:08,856 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 15 times [2022-04-08 09:04:08,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:04:08,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [492667104] [2022-04-08 09:04:08,857 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:04:08,858 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:04:08,858 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 16 times [2022-04-08 09:04:08,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:04:08,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2042104745] [2022-04-08 09:04:08,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:04:08,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:04:08,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:09,334 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:04:09,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:09,361 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-08 09:04:09,362 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-08 09:04:09,362 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-08 09:04:09,370 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:04:09,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:09,858 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-08 09:04:09,858 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-08 09:04:09,859 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-08 09:04:09,859 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-08 09:04:09,860 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-08 09:04:09,860 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-08 09:04:09,861 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-08 09:04:09,861 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-08 09:04:09,862 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-08 09:04:09,863 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-08 09:04:09,863 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-08 09:04:09,864 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-08 09:04:09,865 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-08 09:04:09,865 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-08 09:04:09,866 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-08 09:04:09,866 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-08 09:04:09,867 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-08 09:04:09,867 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-08 09:04:09,868 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-08 09:04:09,868 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-08 09:04:09,868 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-08 09:04:09,869 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-08 09:04:09,869 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-08 09:04:09,869 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-08 09:04:09,870 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-08 09:04:09,870 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-08 09:04:09,870 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-08 09:04:09,871 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-08 09:04:09,871 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-08 09:04:09,872 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-08 09:04:09,872 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-08 09:04:09,872 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-08 09:04:09,873 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-08 09:04:09,873 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-08 09:04:09,873 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-08 09:04:09,874 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-08 09:04:09,874 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-08 09:04:09,875 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-08 09:04:09,875 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-08 09:04:09,875 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-08 09:04:09,876 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-08 09:04:09,876 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-08 09:04:09,876 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-08 09:04:09,877 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-08 09:04:09,877 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-08 09:04:09,877 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-08 09:04:09,878 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-08 09:04:09,878 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-08 09:04:09,878 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-08 09:04:09,879 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-08 09:04:09,879 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-08 09:04:09,880 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-08 09:04:09,880 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-08 09:04:09,881 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-08 09:04:09,881 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:04:09,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:09,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,886 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:04:09,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:09,888 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,889 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:04:09,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:09,890 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:04:09,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:09,899 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,900 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-08 09:04:09,900 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-08 09:04:09,901 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-08 09:04:09,901 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-08 09:04:09,902 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-08 09:04:09,902 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-08 09:04:09,903 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-08 09:04:09,904 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-08 09:04:09,904 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-08 09:04:09,905 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-08 09:04:09,906 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-08 09:04:09,906 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-08 09:04:09,907 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-08 09:04:09,907 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-08 09:04:09,908 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-08 09:04:09,908 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-08 09:04:09,909 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-08 09:04:09,909 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-08 09:04:09,910 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-08 09:04:09,910 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-08 09:04:09,911 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-08 09:04:09,911 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-08 09:04:09,911 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-08 09:04:09,913 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-08 09:04:09,913 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-08 09:04:09,914 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-08 09:04:09,915 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-08 09:04:09,915 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-08 09:04:09,916 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-08 09:04:09,916 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-08 09:04:09,917 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-08 09:04:09,918 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-08 09:04:09,918 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-08 09:04:09,919 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-08 09:04:09,919 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-08 09:04:09,920 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-08 09:04:09,920 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-08 09:04:09,921 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-08 09:04:09,922 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-08 09:04:09,922 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-08 09:04:09,922 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-08 09:04:09,923 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-08 09:04:09,923 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-08 09:04:09,923 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-08 09:04:09,924 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-08 09:04:09,924 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-08 09:04:09,924 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-08 09:04:09,925 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-08 09:04:09,925 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-08 09:04:09,926 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-08 09:04:09,926 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-08 09:04:09,926 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-08 09:04:09,927 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-08 09:04:09,927 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-08 09:04:09,928 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-08 09:04:09,928 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-08 09:04:09,929 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-08 09:04:09,929 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-08 09:04:09,929 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-08 09:04:09,930 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-08 09:04:09,930 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-08 09:04:09,930 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-08 09:04:09,931 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-08 09:04:09,931 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-08 09:04:09,931 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-08 09:04:09,932 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-08 09:04:09,932 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-08 09:04:09,933 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-08 09:04:09,933 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-08 09:04:09,933 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-08 09:04:09,934 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-08 09:04:09,934 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-08 09:04:09,934 INFO L290 TraceCheckUtils]: 72: Hoare triple {59417#false} ~i~1 := 0; {59417#false} is VALID [2022-04-08 09:04:09,934 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-08 09:04:09,934 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-08 09:04:09,934 INFO L290 TraceCheckUtils]: 75: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,934 INFO L290 TraceCheckUtils]: 76: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,935 INFO L290 TraceCheckUtils]: 77: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,935 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,935 INFO L290 TraceCheckUtils]: 79: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 09:04:09,935 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-08 09:04:09,935 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-08 09:04:09,935 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-08 09:04:09,935 INFO L290 TraceCheckUtils]: 83: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,935 INFO L290 TraceCheckUtils]: 84: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,935 INFO L290 TraceCheckUtils]: 85: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,935 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,935 INFO L290 TraceCheckUtils]: 87: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 09:04:09,935 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-08 09:04:09,935 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-08 09:04:09,935 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-08 09:04:09,935 INFO L290 TraceCheckUtils]: 91: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,935 INFO L290 TraceCheckUtils]: 92: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,936 INFO L290 TraceCheckUtils]: 93: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,936 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,936 INFO L290 TraceCheckUtils]: 95: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 09:04:09,936 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-08 09:04:09,936 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-08 09:04:09,936 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-08 09:04:09,936 INFO L290 TraceCheckUtils]: 99: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 09:04:09,936 INFO L290 TraceCheckUtils]: 100: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 09:04:09,936 INFO L290 TraceCheckUtils]: 101: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 09:04:09,936 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 09:04:09,936 INFO L290 TraceCheckUtils]: 103: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 09:04:09,936 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-08 09:04:09,936 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-08 09:04:09,936 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-08 09:04:09,937 INFO L290 TraceCheckUtils]: 107: Hoare triple {59417#false} ~cond := #in~cond; {59417#false} is VALID [2022-04-08 09:04:09,937 INFO L290 TraceCheckUtils]: 108: Hoare triple {59417#false} assume 0 == ~cond; {59417#false} is VALID [2022-04-08 09:04:09,937 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-08 09:04:09,937 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-08 09:04:09,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:04:09,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2042104745] [2022-04-08 09:04:09,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2042104745] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:04:09,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [657907165] [2022-04-08 09:04:09,938 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:04:09,938 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:04:09,938 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:04:09,939 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-08 09:04:09,939 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-08 09:04:10,108 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:04:10,108 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:04:10,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-08 09:04:10,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:10,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:04:10,179 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:04:10,179 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-08 09:04:10,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-08 09:04:10,279 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 09:04:10,279 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-08 09:04:10,337 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 09:04:10,337 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-08 09:04:10,395 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 09:04:10,395 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-08 09:04:10,458 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 09:04:10,459 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-08 09:04:11,368 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-08 09:04:15,978 INFO L356 Elim1Store]: treesize reduction 14, result has 17.6 percent of original size [2022-04-08 09:04:15,979 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-08 09:04:16,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {59416#true} call ULTIMATE.init(); {59416#true} is VALID [2022-04-08 09:04:16,130 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-08 09:04:16,130 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-08 09:04:16,130 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-08 09:04:16,131 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-08 09:04:16,131 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-08 09:04:16,132 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-08 09:04:16,132 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-08 09:04:16,133 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-08 09:04:16,134 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-08 09:04:16,134 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-08 09:04:16,135 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-08 09:04:16,136 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-08 09:04:16,137 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-08 09:04:16,137 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-08 09:04:16,139 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-08 09:04:16,140 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-08 09:04:16,140 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-08 09:04:16,140 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-08 09:04:16,141 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-08 09:04:16,141 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-08 09:04:16,142 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-08 09:04:16,142 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-08 09:04:16,142 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-08 09:04:16,143 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-08 09:04:16,143 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-08 09:04:16,143 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-08 09:04:16,144 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-08 09:04:16,144 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-08 09:04:16,144 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-08 09:04:16,145 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-08 09:04:16,145 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-08 09:04:16,145 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-08 09:04:16,146 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-08 09:04:16,146 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-08 09:04:16,147 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-08 09:04:16,147 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-08 09:04:16,148 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-08 09:04:16,148 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-08 09:04:16,149 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-08 09:04:16,149 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-08 09:04:16,150 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-08 09:04:16,151 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-08 09:04:16,151 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-08 09:04:16,151 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-08 09:04:16,152 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-08 09:04:16,154 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-08 09:04:16,154 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-08 09:04:16,155 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-08 09:04:16,155 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-08 09:04:16,156 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-08 09:04:16,156 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-08 09:04:16,157 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-08 09:04:16,157 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-08 09:04:16,158 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-08 09:04:16,158 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-08 09:04:16,159 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-08 09:04:16,160 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-08 09:04:16,161 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-08 09:04:16,161 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-08 09:04:16,162 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-08 09:04:16,162 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-08 09:04:16,163 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-08 09:04:16,164 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-08 09:04:16,164 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-08 09:04:16,165 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-08 09:04:16,165 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-08 09:04:16,167 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-08 09:04:16,167 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-08 09:04:16,168 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-08 09:04:16,168 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-08 09:04:16,170 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-08 09:04:16,170 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-08 09:04:16,171 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-08 09:04:16,172 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-08 09:04:16,174 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-08 09:04:16,178 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-08 09:04:16,180 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-08 09:04:16,181 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-08 09:04:16,181 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-08 09:04:16,182 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-08 09:04:16,183 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-08 09:04:16,184 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-08 09:04:16,187 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-08 09:04:16,190 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-08 09:04:16,191 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-08 09:04:16,191 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-08 09:04:16,192 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-08 09:04:16,192 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-08 09:04:16,193 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-08 09:04:16,194 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-08 09:04:16,195 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-08 09:04:16,195 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-08 09:04:16,200 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-08 09:04:16,200 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-08 09:04:16,201 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-08 09:04:16,201 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-08 09:04:16,202 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-08 09:04:16,203 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-08 09:04:16,204 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-08 09:04:16,204 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-08 09:04:16,209 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-08 09:04:16,209 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-08 09:04:16,210 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-08 09:04:16,211 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-08 09:04:16,211 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-08 09:04:16,212 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-08 09:04:16,212 INFO L290 TraceCheckUtils]: 107: Hoare triple {59853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {59857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:04:16,213 INFO L290 TraceCheckUtils]: 108: Hoare triple {59857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {59417#false} is VALID [2022-04-08 09:04:16,213 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-08 09:04:16,213 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-08 09:04:16,213 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:04:16,570 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-08 09:04:16,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [657907165] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:04:16,572 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:04:16,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 24] total 45 [2022-04-08 09:04:16,572 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:04:16,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [492667104] [2022-04-08 09:04:16,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [492667104] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:04:16,572 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:04:16,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 09:04:16,572 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [917670303] [2022-04-08 09:04:16,572 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:04:16,572 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-08 09:04:16,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:04:16,573 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-08 09:04:16,616 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-08 09:04:16,616 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 09:04:16,616 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:04:16,616 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 09:04:16,617 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=2475, Unknown=13, NotChecked=100, Total=2756 [2022-04-08 09:04:16,617 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-08 09:04:27,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:04:27,408 INFO L93 Difference]: Finished difference Result 1560 states and 2143 transitions. [2022-04-08 09:04:27,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 09:04:27,408 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-08 09:04:27,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:04:27,408 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-08 09:04:27,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-08 09:04:27,409 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-08 09:04:27,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-08 09:04:27,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 87 transitions. [2022-04-08 09:04:27,486 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-08 09:04:27,511 INFO L225 Difference]: With dead ends: 1560 [2022-04-08 09:04:27,511 INFO L226 Difference]: Without dead ends: 803 [2022-04-08 09:04:27,512 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 123 SyntacticMatches, 13 SemanticMatches, 70 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1524 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=383, Invalid=4547, Unknown=44, NotChecked=138, Total=5112 [2022-04-08 09:04:27,513 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 82 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 654 mSolverCounterSat, 75 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 22 SdHoareTripleChecker+Invalid, 729 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 75 IncrementalHoareTripleChecker+Valid, 654 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 09:04:27,513 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.7s Time] [2022-04-08 09:04:27,513 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 803 states. [2022-04-08 09:04:35,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 803 to 799. [2022-04-08 09:04:35,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:04:35,722 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-08 09:04:35,722 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-08 09:04:35,722 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-08 09:04:35,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:04:35,740 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-08 09:04:35,740 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-08 09:04:35,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:04:35,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:04:35,741 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-08 09:04:35,742 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-08 09:04:35,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:04:35,760 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-08 09:04:35,760 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-08 09:04:35,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:04:35,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:04:35,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:04:35,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:04:35,761 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-08 09:04:35,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 799 states to 799 states and 1093 transitions. [2022-04-08 09:04:35,786 INFO L78 Accepts]: Start accepts. Automaton has 799 states and 1093 transitions. Word has length 110 [2022-04-08 09:04:35,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:04:35,786 INFO L478 AbstractCegarLoop]: Abstraction has 799 states and 1093 transitions. [2022-04-08 09:04:35,786 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-08 09:04:35,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 799 states and 1093 transitions. [2022-04-08 09:04:40,831 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-08 09:04:40,831 INFO L276 IsEmpty]: Start isEmpty. Operand 799 states and 1093 transitions. [2022-04-08 09:04:40,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:04:40,832 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:04:40,832 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-08 09:04:40,849 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Ended with exit code 0 [2022-04-08 09:04:41,038 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-08 09:04:41,039 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:04:41,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:04:41,039 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 17 times [2022-04-08 09:04:41,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:04:41,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1848311604] [2022-04-08 09:04:41,041 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:04:41,041 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:04:41,041 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 18 times [2022-04-08 09:04:41,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:04:41,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [856676200] [2022-04-08 09:04:41,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:04:41,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:04:41,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:04:41,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,121 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-08 09:04:41,121 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-08 09:04:41,122 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-08 09:04:41,125 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:04:41,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,572 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-08 09:04:41,573 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-08 09:04:41,573 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-08 09:04:41,574 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-08 09:04:41,575 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-08 09:04:41,575 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-08 09:04:41,576 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-08 09:04:41,576 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-08 09:04:41,577 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-08 09:04:41,577 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-08 09:04:41,578 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-08 09:04:41,578 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-08 09:04:41,579 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-08 09:04:41,579 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-08 09:04:41,579 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-08 09:04:41,580 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-08 09:04:41,581 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-08 09:04:41,582 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-08 09:04:41,582 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-08 09:04:41,583 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-08 09:04:41,583 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-08 09:04:41,584 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-08 09:04:41,584 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-08 09:04:41,584 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-08 09:04:41,584 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-08 09:04:41,584 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-08 09:04:41,584 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-08 09:04:41,584 INFO L290 TraceCheckUtils]: 27: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 INFO L290 TraceCheckUtils]: 37: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,585 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-08 09:04:41,586 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-08 09:04:41,586 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-08 09:04:41,586 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,586 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-08 09:04:41,586 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-08 09:04:41,586 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-08 09:04:41,586 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,586 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-08 09:04:41,586 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-08 09:04:41,586 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,586 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 09:04:41,586 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-08 09:04:41,587 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:04:41,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:04:41,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,591 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,591 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:04:41,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,593 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,593 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,593 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:04:41,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,595 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,595 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-08 09:04:41,596 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-08 09:04:41,596 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-08 09:04:41,597 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-08 09:04:41,597 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-08 09:04:41,597 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-08 09:04:41,598 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-08 09:04:41,598 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-08 09:04:41,598 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-08 09:04:41,599 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-08 09:04:41,599 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-08 09:04:41,599 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-08 09:04:41,600 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-08 09:04:41,600 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-08 09:04:41,600 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-08 09:04:41,601 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-08 09:04:41,601 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-08 09:04:41,601 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-08 09:04:41,602 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-08 09:04:41,602 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-08 09:04:41,602 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-08 09:04:41,603 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-08 09:04:41,604 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-08 09:04:41,604 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-08 09:04:41,605 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-08 09:04:41,605 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-08 09:04:41,606 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-08 09:04:41,606 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-08 09:04:41,607 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-08 09:04:41,607 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-08 09:04:41,608 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-08 09:04:41,608 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-08 09:04:41,609 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-08 09:04:41,609 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-08 09:04:41,610 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-08 09:04:41,611 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-08 09:04:41,611 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-08 09:04:41,612 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-08 09:04:41,613 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-08 09:04:41,613 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-08 09:04:41,613 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-08 09:04:41,613 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-08 09:04:41,613 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,614 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,614 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-08 09:04:41,614 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-08 09:04:41,615 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-08 09:04:41,615 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-08 09:04:41,615 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-08 09:04:41,615 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-08 09:04:41,615 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,615 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-08 09:04:41,615 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-08 09:04:41,615 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-08 09:04:41,615 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,615 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-08 09:04:41,615 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-08 09:04:41,615 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:41,615 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 09:04:41,615 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-08 09:04:41,615 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-08 09:04:41,616 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-08 09:04:41,616 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-08 09:04:41,616 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,616 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,616 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,616 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:41,616 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-08 09:04:41,616 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-08 09:04:41,616 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-08 09:04:41,616 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,616 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,616 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,616 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,616 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:41,617 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-08 09:04:41,617 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-08 09:04:41,617 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-08 09:04:41,617 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,617 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,617 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,617 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,617 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:41,617 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-08 09:04:41,617 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-08 09:04:41,617 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-08 09:04:41,617 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:04:41,617 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:04:41,617 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:04:41,617 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:41,617 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:41,618 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-08 09:04:41,618 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-08 09:04:41,618 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-08 09:04:41,618 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 09:04:41,618 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-08 09:04:41,618 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-08 09:04:41,618 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-08 09:04:41,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:04:41,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [856676200] [2022-04-08 09:04:41,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [856676200] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:04:41,619 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [926068967] [2022-04-08 09:04:41,619 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 09:04:41,619 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:04:41,619 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:04:41,620 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-08 09:04:41,627 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-08 09:04:41,809 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-08 09:04:41,809 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:04:41,811 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 09:04:41,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:04:41,832 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:04:42,612 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:04:42,613 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:04:42,614 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:04:42,616 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 09:04:42,617 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-08 09:04:43,429 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:04:43,430 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 09:04:43,430 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:04:43,431 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:04:43,434 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 09:04:43,434 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-08 09:04:43,612 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-08 09:04:43,613 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-08 09:04:43,614 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-08 09:04:43,614 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-08 09:04:43,614 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-08 09:04:43,615 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-08 09:04:43,615 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-08 09:04:43,615 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-08 09:04:43,616 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-08 09:04:43,616 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-08 09:04:43,616 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-08 09:04:43,617 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-08 09:04:43,617 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-08 09:04:43,617 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-08 09:04:43,618 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-08 09:04:43,618 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-08 09:04:43,618 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-08 09:04:43,619 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-08 09:04:43,619 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-08 09:04:43,619 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-08 09:04:43,620 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-08 09:04:43,621 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-08 09:04:43,621 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-08 09:04:43,622 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-08 09:04:43,622 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-08 09:04:43,622 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-08 09:04:43,623 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-08 09:04:43,623 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-08 09:04:43,624 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-08 09:04:43,624 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-08 09:04:43,625 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-08 09:04:43,625 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-08 09:04:43,626 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-08 09:04:43,627 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-08 09:04:43,628 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-08 09:04:43,629 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-08 09:04:43,630 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-08 09:04:43,631 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-08 09:04:43,632 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-08 09:04:43,632 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,633 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-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,634 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:43,634 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-08 09:04:43,634 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-08 09:04:43,635 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-08 09:04:43,635 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 09:04:43,635 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-08 09:04:43,635 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-08 09:04:43,635 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-08 09:04:43,635 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-08 09:04:43,635 INFO L290 TraceCheckUtils]: 75: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 09:04:43,635 INFO L290 TraceCheckUtils]: 76: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 09:04:43,635 INFO L290 TraceCheckUtils]: 77: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 09:04:43,635 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:43,635 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:43,635 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-08 09:04:43,635 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-08 09:04:43,635 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-08 09:04:43,636 INFO L290 TraceCheckUtils]: 83: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L290 TraceCheckUtils]: 84: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L290 TraceCheckUtils]: 85: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:43,636 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-08 09:04:43,636 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-08 09:04:43,636 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-08 09:04:43,636 INFO L290 TraceCheckUtils]: 91: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L290 TraceCheckUtils]: 92: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L290 TraceCheckUtils]: 93: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:43,636 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:43,636 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-08 09:04:43,636 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-08 09:04:43,636 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-08 09:04:43,637 INFO L290 TraceCheckUtils]: 99: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 09:04:43,637 INFO L290 TraceCheckUtils]: 100: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 09:04:43,637 INFO L290 TraceCheckUtils]: 101: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 09:04:43,637 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:04:43,637 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:04:43,637 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-08 09:04:43,637 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-08 09:04:43,637 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-08 09:04:43,637 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 09:04:43,637 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-08 09:04:43,637 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-08 09:04:43,638 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-08 09:04:43,638 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:04:45,065 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-08 09:04:45,146 INFO L356 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2022-04-08 09:04:45,146 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-08 09:05:00,423 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-08 09:05:00,597 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-08 09:05:00,598 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-08 09:05:05,824 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-08 09:05:05,824 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-08 09:05:05,824 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 09:05:05,824 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-08 09:05:05,824 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-08 09:05:05,824 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-08 09:05:05,825 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:05:05,825 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:05:05,825 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:05:05,825 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:05:05,825 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:05:05,825 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-08 09:05:05,825 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-08 09:05:05,825 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-08 09:05:05,825 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:05:05,825 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:05:05,825 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:05:05,825 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:05:05,825 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:05:05,825 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-08 09:05:05,826 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-08 09:05:05,826 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-08 09:05:05,826 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:05:05,826 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:05:05,826 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:05:05,826 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:05:05,826 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:05:05,826 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-08 09:05:05,826 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-08 09:05:05,826 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-08 09:05:05,826 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 09:05:05,826 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 09:05:05,826 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 09:05:05,826 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 09:05:05,826 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 09:05:05,827 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-08 09:05:05,827 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-08 09:05:05,827 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-08 09:05:05,830 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-08 09:05:05,831 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-08 09:05:05,831 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-08 09:05:05,831 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-08 09:05:05,832 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-08 09:05:05,832 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-08 09:05:05,832 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-08 09:05:05,833 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-08 09:05:05,833 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-08 09:05:05,834 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-08 09:05:05,834 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-08 09:05:05,834 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-08 09:05:05,835 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-08 09:05:05,835 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-08 09:05:05,835 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-08 09:05:05,836 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-08 09:05:05,836 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-08 09:05:05,836 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-08 09:05:05,837 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-08 09:05:05,837 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-08 09:05:05,837 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-08 09:05:05,838 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-08 09:05:05,838 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-08 09:05:05,838 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-08 09:05:05,839 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-08 09:05:05,839 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-08 09:05:05,839 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-08 09:05:05,840 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-08 09:05:05,840 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-08 09:05:05,840 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-08 09:05:05,841 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-08 09:05:05,841 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-08 09:05:05,842 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-08 09:05:05,842 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-08 09:05:05,843 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-08 09:05:05,843 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-08 09:05:05,844 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-08 09:05:05,845 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-08 09:05:05,846 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-08 09:05:05,847 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-08 09:05:05,848 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-08 09:05:05,849 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-08 09:05:05,849 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-08 09:05:05,850 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-08 09:05:05,852 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-08 09:05:05,853 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-08 09:05:05,853 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-08 09:05:05,854 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-08 09:05:05,855 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-08 09:05:05,855 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-08 09:05:05,857 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-08 09:05:05,862 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-08 09:05:05,863 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-08 09:05:05,863 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-08 09:05:05,863 INFO L272 TraceCheckUtils]: 17: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call SelectionSort(); {66351#true} is VALID [2022-04-08 09:05:05,864 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-08 09:05:05,864 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-08 09:05:05,864 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-08 09:05:05,865 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-08 09:05:05,865 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-08 09:05:05,865 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-08 09:05:05,866 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-08 09:05:05,866 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-08 09:05:05,866 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-08 09:05:05,867 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-08 09:05:05,867 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-08 09:05:05,867 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-08 09:05:05,868 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-08 09:05:05,868 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-08 09:05:05,868 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-08 09:05:05,869 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-08 09:05:05,869 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-08 09:05:05,870 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-08 09:05:05,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [926068967] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:05:05,870 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:05:05,870 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 57 [2022-04-08 09:05:05,870 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:05:05,870 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1848311604] [2022-04-08 09:05:05,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1848311604] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:05:05,870 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:05:05,870 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 09:05:05,870 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2061032890] [2022-04-08 09:05:05,870 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:05:05,871 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-08 09:05:05,871 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:05:05,871 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-08 09:05:05,910 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-08 09:05:05,910 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 09:05:05,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:05:05,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 09:05:05,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=333, Invalid=2847, Unknown=12, NotChecked=0, Total=3192 [2022-04-08 09:05:05,911 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-08 09:05:23,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:05:23,392 INFO L93 Difference]: Finished difference Result 1903 states and 2629 transitions. [2022-04-08 09:05:23,392 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-08 09:05:23,393 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-08 09:05:23,393 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:05:23,393 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-08 09:05:23,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-08 09:05:23,394 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-08 09:05:23,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-08 09:05:23,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 152 transitions. [2022-04-08 09:05:23,542 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-08 09:05:23,599 INFO L225 Difference]: With dead ends: 1903 [2022-04-08 09:05:23,599 INFO L226 Difference]: Without dead ends: 1228 [2022-04-08 09:05:23,600 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1836 ImplicationChecksByTransitivity, 14.2s TimeCoverageRelationStatistics Valid=720, Invalid=7100, Unknown=12, NotChecked=0, Total=7832 [2022-04-08 09:05:23,601 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 133 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 1175 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 09:05:23,601 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.2s Time] [2022-04-08 09:05:23,601 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1228 states. [2022-04-08 09:05:33,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1228 to 927. [2022-04-08 09:05:33,306 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:05:33,307 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-08 09:05:33,308 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-08 09:05:33,308 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-08 09:05:33,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:05:33,345 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-08 09:05:33,345 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-08 09:05:33,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:05:33,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:05:33,346 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-08 09:05:33,347 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-08 09:05:33,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:05:33,384 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-08 09:05:33,384 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-08 09:05:33,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:05:33,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:05:33,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:05:33,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:05:33,385 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-08 09:05:33,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 927 states to 927 states and 1261 transitions. [2022-04-08 09:05:33,418 INFO L78 Accepts]: Start accepts. Automaton has 927 states and 1261 transitions. Word has length 110 [2022-04-08 09:05:33,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:05:33,418 INFO L478 AbstractCegarLoop]: Abstraction has 927 states and 1261 transitions. [2022-04-08 09:05:33,418 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-08 09:05:33,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 927 states and 1261 transitions. [2022-04-08 09:05:39,206 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-08 09:05:39,206 INFO L276 IsEmpty]: Start isEmpty. Operand 927 states and 1261 transitions. [2022-04-08 09:05:39,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:05:39,207 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:05:39,207 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-08 09:05:39,227 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Ended with exit code 0 [2022-04-08 09:05:39,408 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-08 09:05:39,408 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:05:39,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:05:39,408 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 19 times [2022-04-08 09:05:39,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:05:39,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1371462238] [2022-04-08 09:05:39,410 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:05:39,410 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:05:39,410 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 20 times [2022-04-08 09:05:39,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:05:39,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1710118472] [2022-04-08 09:05:39,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:05:39,411 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:05:39,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:39,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:05:39,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:39,484 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-08 09:05:39,485 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-08 09:05:39,485 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-08 09:05:39,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:05:39,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:39,783 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-08 09:05:39,783 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-08 09:05:39,784 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-08 09:05:39,784 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-08 09:05:39,785 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-08 09:05:39,785 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-08 09:05:39,786 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-08 09:05:39,787 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-08 09:05:39,787 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-08 09:05:39,788 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-08 09:05:39,788 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-08 09:05:39,789 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-08 09:05:39,789 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-08 09:05:39,790 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-08 09:05:39,790 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-08 09:05:39,791 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-08 09:05:39,792 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-08 09:05:39,793 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-08 09:05:39,793 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 INFO L290 TraceCheckUtils]: 27: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,794 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 INFO L290 TraceCheckUtils]: 37: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 INFO L290 TraceCheckUtils]: 44: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,795 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-08 09:05:39,796 INFO L290 TraceCheckUtils]: 48: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,796 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-08 09:05:39,796 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-08 09:05:39,796 INFO L290 TraceCheckUtils]: 51: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,796 INFO L290 TraceCheckUtils]: 52: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-08 09:05:39,796 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-08 09:05:39,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:05:39,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:39,798 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:05:39,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:39,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,801 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:05:39,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:39,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,803 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:05:39,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:39,804 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,805 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,805 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-08 09:05:39,806 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-08 09:05:39,806 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-08 09:05:39,806 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-08 09:05:39,807 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-08 09:05:39,807 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-08 09:05:39,808 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-08 09:05:39,808 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-08 09:05:39,808 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-08 09:05:39,809 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-08 09:05:39,809 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-08 09:05:39,809 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-08 09:05:39,810 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-08 09:05:39,810 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-08 09:05:39,810 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-08 09:05:39,811 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-08 09:05:39,811 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-08 09:05:39,811 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-08 09:05:39,811 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-08 09:05:39,812 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-08 09:05:39,812 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-08 09:05:39,813 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-08 09:05:39,813 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-08 09:05:39,814 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-08 09:05:39,814 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-08 09:05:39,815 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-08 09:05:39,816 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-08 09:05:39,816 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-08 09:05:39,817 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-08 09:05:39,817 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-08 09:05:39,818 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-08 09:05:39,818 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-08 09:05:39,819 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-08 09:05:39,819 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-08 09:05:39,820 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-08 09:05:39,821 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-08 09:05:39,821 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 INFO L290 TraceCheckUtils]: 45: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,822 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-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 INFO L290 TraceCheckUtils]: 55: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 INFO L290 TraceCheckUtils]: 62: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 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-08 09:05:39,823 INFO L290 TraceCheckUtils]: 66: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,824 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-08 09:05:39,824 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-08 09:05:39,824 INFO L290 TraceCheckUtils]: 69: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-08 09:05:39,824 INFO L290 TraceCheckUtils]: 70: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-08 09:05:39,824 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-08 09:05:39,824 INFO L290 TraceCheckUtils]: 72: Hoare triple {75322#false} ~i~1 := 0; {75322#false} is VALID [2022-04-08 09:05:39,824 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-08 09:05:39,824 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-08 09:05:39,824 INFO L290 TraceCheckUtils]: 75: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,824 INFO L290 TraceCheckUtils]: 76: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,824 INFO L290 TraceCheckUtils]: 77: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,824 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,824 INFO L290 TraceCheckUtils]: 79: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 09:05:39,824 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-08 09:05:39,824 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-08 09:05:39,824 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-08 09:05:39,825 INFO L290 TraceCheckUtils]: 83: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,825 INFO L290 TraceCheckUtils]: 84: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,825 INFO L290 TraceCheckUtils]: 85: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,825 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,825 INFO L290 TraceCheckUtils]: 87: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 09:05:39,825 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-08 09:05:39,825 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-08 09:05:39,825 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-08 09:05:39,825 INFO L290 TraceCheckUtils]: 91: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,825 INFO L290 TraceCheckUtils]: 92: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,825 INFO L290 TraceCheckUtils]: 93: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,825 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,825 INFO L290 TraceCheckUtils]: 95: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 09:05:39,825 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-08 09:05:39,825 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-08 09:05:39,825 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-08 09:05:39,826 INFO L290 TraceCheckUtils]: 99: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 09:05:39,826 INFO L290 TraceCheckUtils]: 100: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 09:05:39,826 INFO L290 TraceCheckUtils]: 101: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 09:05:39,826 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 09:05:39,826 INFO L290 TraceCheckUtils]: 103: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 09:05:39,826 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-08 09:05:39,826 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-08 09:05:39,826 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-08 09:05:39,826 INFO L290 TraceCheckUtils]: 107: Hoare triple {75322#false} ~cond := #in~cond; {75322#false} is VALID [2022-04-08 09:05:39,826 INFO L290 TraceCheckUtils]: 108: Hoare triple {75322#false} assume 0 == ~cond; {75322#false} is VALID [2022-04-08 09:05:39,826 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-08 09:05:39,827 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-08 09:05:39,827 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:05:39,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1710118472] [2022-04-08 09:05:39,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1710118472] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:05:39,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [185182358] [2022-04-08 09:05:39,827 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:05:39,827 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:05:39,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:05:39,828 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-08 09:05:39,829 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-08 09:05:39,979 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:05:39,980 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:05:39,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 09:05:40,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:05:40,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:05:40,053 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:05:40,053 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-08 09:05:40,086 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-08 09:05:40,161 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:05:40,161 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-08 09:05:40,229 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:05:40,229 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-08 09:05:40,293 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:05:40,293 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-08 09:05:40,368 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:05:40,369 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-08 09:05:40,899 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-08 09:05:42,194 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:05:42,194 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-08 09:05:42,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {75321#true} call ULTIMATE.init(); {75321#true} is VALID [2022-04-08 09:05:42,275 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-08 09:05:42,276 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-08 09:05:42,276 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-08 09:05:42,289 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-08 09:05:42,290 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-08 09:05:42,290 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-08 09:05:42,291 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-08 09:05:42,291 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-08 09:05:42,292 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-08 09:05:42,292 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-08 09:05:42,293 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-08 09:05:42,293 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-08 09:05:42,294 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-08 09:05:42,294 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-08 09:05:42,295 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-08 09:05:42,295 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-08 09:05:42,296 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-08 09:05:42,296 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-08 09:05:42,296 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-08 09:05:42,297 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-08 09:05:42,297 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-08 09:05:42,297 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-08 09:05:42,298 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-08 09:05:42,298 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-08 09:05:42,298 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-08 09:05:42,299 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-08 09:05:42,299 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-08 09:05:42,299 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-08 09:05:42,300 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-08 09:05:42,300 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-08 09:05:42,300 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-08 09:05:42,301 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-08 09:05:42,301 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-08 09:05:42,302 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-08 09:05:42,302 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-08 09:05:42,303 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-08 09:05:42,303 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-08 09:05:42,304 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-08 09:05:42,304 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-08 09:05:42,305 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-08 09:05:42,305 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-08 09:05:42,306 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-08 09:05:42,306 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-08 09:05:42,307 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-08 09:05:42,307 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-08 09:05:42,309 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-08 09:05:42,309 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-08 09:05:42,310 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-08 09:05:42,310 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-08 09:05:42,311 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-08 09:05:42,311 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-08 09:05:42,312 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-08 09:05:42,312 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-08 09:05:42,313 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-08 09:05:42,313 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-08 09:05:42,315 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-08 09:05:42,315 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-08 09:05:42,316 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-08 09:05:42,317 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-08 09:05:42,317 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-08 09:05:42,317 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-08 09:05:42,318 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-08 09:05:42,319 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-08 09:05:42,320 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-08 09:05:42,320 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-08 09:05:42,321 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-08 09:05:42,322 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-08 09:05:42,323 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-08 09:05:42,323 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-08 09:05:42,324 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-08 09:05:42,324 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-08 09:05:42,325 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-08 09:05:42,325 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-08 09:05:42,326 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-08 09:05:42,326 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-08 09:05:42,326 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-08 09:05:42,327 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-08 09:05:42,327 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-08 09:05:42,327 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-08 09:05:42,328 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-08 09:05:42,328 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-08 09:05:42,329 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-08 09:05:42,329 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-08 09:05:42,330 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-08 09:05:42,330 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-08 09:05:42,330 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-08 09:05:42,331 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-08 09:05:42,331 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-08 09:05:42,331 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-08 09:05:42,332 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-08 09:05:42,332 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-08 09:05:42,333 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-08 09:05:42,333 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-08 09:05:42,333 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-08 09:05:42,334 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-08 09:05:42,334 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-08 09:05:42,335 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-08 09:05:42,335 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-08 09:05:42,336 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-08 09:05:42,336 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-08 09:05:42,336 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-08 09:05:42,337 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-08 09:05:42,337 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-08 09:05:42,337 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-08 09:05:42,338 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-08 09:05:42,338 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-08 09:05:42,338 INFO L290 TraceCheckUtils]: 107: Hoare triple {75749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {75753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:05:42,339 INFO L290 TraceCheckUtils]: 108: Hoare triple {75753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {75322#false} is VALID [2022-04-08 09:05:42,339 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-08 09:05:42,339 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-08 09:05:42,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:05:42,670 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-08 09:05:42,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [185182358] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:05:42,671 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:05:42,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 22] total 36 [2022-04-08 09:05:42,671 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:05:42,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1371462238] [2022-04-08 09:05:42,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1371462238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:05:42,671 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:05:42,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 09:05:42,672 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [369881728] [2022-04-08 09:05:42,672 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:05:42,672 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-08 09:05:42,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:05:42,672 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-08 09:05:42,706 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-08 09:05:42,706 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 09:05:42,706 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:05:42,707 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 09:05:42,707 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=146, Invalid=1654, Unknown=10, NotChecked=82, Total=1892 [2022-04-08 09:05:42,707 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-08 09:06:01,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:06:01,163 INFO L93 Difference]: Finished difference Result 2266 states and 3111 transitions. [2022-04-08 09:06:01,164 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 09:06:01,164 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-08 09:06:01,164 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:06:01,164 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-08 09:06:01,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-08 09:06:01,165 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-08 09:06:01,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-08 09:06:01,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 135 transitions. [2022-04-08 09:06:01,289 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-08 09:06:01,363 INFO L225 Difference]: With dead ends: 2266 [2022-04-08 09:06:01,363 INFO L226 Difference]: Without dead ends: 1430 [2022-04-08 09:06:01,365 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-08 09:06:01,365 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-08 09:06:01,365 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-08 09:06:01,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1430 states. [2022-04-08 09:06:12,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1430 to 1016. [2022-04-08 09:06:12,235 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:06:12,236 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-08 09:06:12,236 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-08 09:06:12,237 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-08 09:06:12,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:06:12,285 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-08 09:06:12,285 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-08 09:06:12,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:06:12,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:06:12,287 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-08 09:06:12,288 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-08 09:06:12,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:06:12,335 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-08 09:06:12,335 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-08 09:06:12,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:06:12,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:06:12,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:06:12,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:06:12,337 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-08 09:06:12,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1016 states to 1016 states and 1399 transitions. [2022-04-08 09:06:12,377 INFO L78 Accepts]: Start accepts. Automaton has 1016 states and 1399 transitions. Word has length 110 [2022-04-08 09:06:12,377 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:06:12,377 INFO L478 AbstractCegarLoop]: Abstraction has 1016 states and 1399 transitions. [2022-04-08 09:06:12,377 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-08 09:06:12,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1016 states and 1399 transitions. [2022-04-08 09:06:18,988 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-08 09:06:18,988 INFO L276 IsEmpty]: Start isEmpty. Operand 1016 states and 1399 transitions. [2022-04-08 09:06:18,989 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:06:18,989 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:06:18,989 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-08 09:06:19,006 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Ended with exit code 0 [2022-04-08 09:06:19,190 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-08 09:06:19,190 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:06:19,190 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:06:19,190 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 21 times [2022-04-08 09:06:19,190 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:06:19,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [940025726] [2022-04-08 09:06:19,192 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:06:19,192 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:06:19,192 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 22 times [2022-04-08 09:06:19,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:06:19,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1345785619] [2022-04-08 09:06:19,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:06:19,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:06:19,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:06:19,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,284 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-08 09:06:19,284 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-08 09:06:19,284 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-08 09:06:19,287 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:06:19,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,706 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-08 09:06:19,707 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-08 09:06:19,707 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-08 09:06:19,708 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-08 09:06:19,709 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-08 09:06:19,709 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-08 09:06:19,710 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-08 09:06:19,710 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-08 09:06:19,711 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-08 09:06:19,711 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-08 09:06:19,712 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-08 09:06:19,712 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-08 09:06:19,713 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-08 09:06:19,713 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-08 09:06:19,713 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-08 09:06:19,714 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-08 09:06:19,715 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-08 09:06:19,716 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-08 09:06:19,716 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-08 09:06:19,717 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-08 09:06:19,717 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-08 09:06:19,718 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-08 09:06:19,718 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-08 09:06:19,718 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-08 09:06:19,718 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-08 09:06:19,718 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-08 09:06:19,718 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-08 09:06:19,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,718 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 INFO L290 TraceCheckUtils]: 37: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,719 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-08 09:06:19,720 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-08 09:06:19,720 INFO L290 TraceCheckUtils]: 44: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,720 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-08 09:06:19,720 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-08 09:06:19,720 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-08 09:06:19,720 INFO L290 TraceCheckUtils]: 48: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,720 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-08 09:06:19,720 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-08 09:06:19,720 INFO L290 TraceCheckUtils]: 51: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,720 INFO L290 TraceCheckUtils]: 52: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:19,720 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-08 09:06:19,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:06:19,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,722 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,723 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,723 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:06:19,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,725 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,725 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:06:19,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,727 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:06:19,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,740 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,741 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-08 09:06:19,742 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-08 09:06:19,742 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-08 09:06:19,742 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-08 09:06:19,743 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-08 09:06:19,743 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-08 09:06:19,743 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-08 09:06:19,744 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-08 09:06:19,744 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-08 09:06:19,744 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-08 09:06:19,745 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-08 09:06:19,745 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-08 09:06:19,745 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-08 09:06:19,746 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-08 09:06:19,746 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-08 09:06:19,746 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-08 09:06:19,747 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-08 09:06:19,747 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-08 09:06:19,747 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-08 09:06:19,747 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-08 09:06:19,748 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-08 09:06:19,749 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-08 09:06:19,749 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-08 09:06:19,750 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-08 09:06:19,750 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-08 09:06:19,751 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-08 09:06:19,751 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-08 09:06:19,752 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-08 09:06:19,752 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-08 09:06:19,753 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-08 09:06:19,753 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-08 09:06:19,754 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-08 09:06:19,754 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-08 09:06:19,755 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-08 09:06:19,756 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-08 09:06:19,756 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-08 09:06:19,757 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-08 09:06:19,757 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-08 09:06:19,758 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-08 09:06:19,758 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 INFO L290 TraceCheckUtils]: 45: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,759 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-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 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-08 09:06:19,760 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,760 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-08 09:06:19,761 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-08 09:06:19,761 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:19,761 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:19,761 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-08 09:06:19,761 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-08 09:06:19,761 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-08 09:06:19,761 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-08 09:06:19,761 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,761 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,761 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,761 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,761 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:19,761 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-08 09:06:19,761 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-08 09:06:19,761 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-08 09:06:19,761 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,762 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,762 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,762 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,762 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:19,762 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-08 09:06:19,762 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-08 09:06:19,762 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-08 09:06:19,762 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,762 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,762 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,762 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,762 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:19,762 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-08 09:06:19,762 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-08 09:06:19,762 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-08 09:06:19,762 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:19,763 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:19,763 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:19,763 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:19,763 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:19,763 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-08 09:06:19,763 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-08 09:06:19,763 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-08 09:06:19,763 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 09:06:19,763 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-08 09:06:19,763 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-08 09:06:19,764 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-08 09:06:19,764 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:06:19,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1345785619] [2022-04-08 09:06:19,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1345785619] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:06:19,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [592327928] [2022-04-08 09:06:19,764 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:06:19,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:06:19,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:06:19,765 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-08 09:06:19,766 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-08 09:06:19,901 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:06:19,902 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:06:19,903 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 09:06:19,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:06:19,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:06:20,147 INFO L356 Elim1Store]: treesize reduction 39, result has 22.0 percent of original size [2022-04-08 09:06:20,148 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-08 09:06:20,563 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 09:06:20,563 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-08 09:06:20,782 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-08 09:06:20,783 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-08 09:06:20,892 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-08 09:06:20,892 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-08 09:06:20,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:20,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-08 09:06:20,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,893 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-08 09:06:20,894 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-08 09:06:20,894 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-08 09:06:20,894 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-08 09:06:20,894 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-08 09:06:20,895 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-08 09:06:20,895 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-08 09:06:20,895 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-08 09:06:20,896 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-08 09:06:20,896 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-08 09:06:20,897 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-08 09:06:20,897 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-08 09:06:20,897 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-08 09:06:20,898 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-08 09:06:20,898 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-08 09:06:20,898 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-08 09:06:20,899 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-08 09:06:20,899 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-08 09:06:20,899 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-08 09:06:20,900 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-08 09:06:20,900 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-08 09:06:20,900 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-08 09:06:20,901 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-08 09:06:20,901 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-08 09:06:20,902 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-08 09:06:20,902 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-08 09:06:20,903 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-08 09:06:20,903 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-08 09:06:20,904 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-08 09:06:20,904 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-08 09:06:20,905 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-08 09:06:20,905 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-08 09:06:20,906 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-08 09:06:20,906 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-08 09:06:20,907 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-08 09:06:20,907 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-08 09:06:20,908 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-08 09:06:20,908 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-08 09:06:20,908 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-08 09:06:20,908 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-08 09:06:20,909 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:20,909 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-08 09:06:20,909 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-08 09:06:20,909 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-08 09:06:20,910 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-08 09:06:20,910 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-08 09:06:20,910 INFO L290 TraceCheckUtils]: 75: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L290 TraceCheckUtils]: 76: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L290 TraceCheckUtils]: 77: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:20,910 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-08 09:06:20,910 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-08 09:06:20,910 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-08 09:06:20,910 INFO L290 TraceCheckUtils]: 83: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 09:06:20,910 INFO L290 TraceCheckUtils]: 84: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 09:06:20,911 INFO L290 TraceCheckUtils]: 85: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:20,911 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:20,911 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:20,911 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-08 09:06:20,911 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-08 09:06:20,911 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-08 09:06:20,911 INFO L290 TraceCheckUtils]: 91: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 09:06:20,911 INFO L290 TraceCheckUtils]: 92: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 09:06:20,911 INFO L290 TraceCheckUtils]: 93: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:20,911 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:20,911 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:20,911 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-08 09:06:20,911 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-08 09:06:20,911 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-08 09:06:20,911 INFO L290 TraceCheckUtils]: 99: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 09:06:20,912 INFO L290 TraceCheckUtils]: 100: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 09:06:20,912 INFO L290 TraceCheckUtils]: 101: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:20,912 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:20,912 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:20,912 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-08 09:06:20,912 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-08 09:06:20,912 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-08 09:06:20,912 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 09:06:20,912 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-08 09:06:20,912 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-08 09:06:20,913 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-08 09:06:20,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:06:22,643 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-08 09:06:22,643 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-08 09:06:22,643 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 09:06:22,643 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-08 09:06:22,643 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-08 09:06:22,644 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-08 09:06:22,644 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:22,644 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:22,644 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:22,644 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:22,644 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:22,644 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-08 09:06:22,644 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-08 09:06:22,644 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-08 09:06:22,644 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:22,644 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:22,644 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:22,644 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:22,644 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:22,644 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-08 09:06:22,645 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-08 09:06:22,645 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-08 09:06:22,645 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:22,645 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:22,645 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:22,645 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:22,645 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:22,645 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-08 09:06:22,645 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-08 09:06:22,645 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-08 09:06:22,645 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 09:06:22,645 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 09:06:22,645 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:22,645 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 09:06:22,645 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 09:06:22,646 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-08 09:06:22,646 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-08 09:06:22,646 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-08 09:06:22,646 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-08 09:06:22,646 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 09:06:22,646 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:22,646 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-08 09:06:22,646 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-08 09:06:22,646 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:22,646 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-08 09:06:22,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-08 09:06:22,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-08 09:06:22,646 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:22,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-08 09:06:22,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-08 09:06:22,647 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-08 09:06:22,647 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-08 09:06:22,647 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-08 09:06:22,647 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-08 09:06:22,647 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 09:06:22,647 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-08 09:06:22,647 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-08 09:06:22,648 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-08 09:06:22,648 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-08 09:06:22,649 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-08 09:06:22,649 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-08 09:06:22,650 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-08 09:06:22,651 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-08 09:06:22,652 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-08 09:06:22,652 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-08 09:06:22,653 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-08 09:06:22,654 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-08 09:06:22,654 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-08 09:06:22,657 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-08 09:06:22,657 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-08 09:06:22,659 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-08 09:06:22,661 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-08 09:06:22,663 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-08 09:06:22,664 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-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,666 INFO L290 TraceCheckUtils]: 32: Hoare triple {85363#true} assume !(~i~0 < ~n~0); {85363#true} is VALID [2022-04-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,666 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-08 09:06:22,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,667 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-08 09:06:22,668 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-08 09:06:22,668 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-08 09:06:22,668 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-08 09:06:22,668 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-08 09:06:22,668 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-08 09:06:22,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-08 09:06:22,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-08 09:06:22,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 09:06:22,668 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-08 09:06:22,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-08 09:06:22,668 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-08 09:06:22,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [592327928] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 09:06:22,669 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 09:06:22,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 21, 14] total 50 [2022-04-08 09:06:22,669 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:06:22,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [940025726] [2022-04-08 09:06:22,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [940025726] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:06:22,669 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:06:22,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-08 09:06:22,669 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [946299638] [2022-04-08 09:06:22,669 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:06:22,670 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-08 09:06:22,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:06:22,670 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-08 09:06:22,710 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-08 09:06:22,710 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-08 09:06:22,710 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:06:22,710 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-08 09:06:22,710 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=160, Invalid=2290, Unknown=0, NotChecked=0, Total=2450 [2022-04-08 09:06:22,710 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-08 09:06:42,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:06:42,883 INFO L93 Difference]: Finished difference Result 2132 states and 2958 transitions. [2022-04-08 09:06:42,883 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-08 09:06:42,883 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-08 09:06:42,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:06:42,883 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-08 09:06:42,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-08 09:06:42,884 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-08 09:06:42,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-08 09:06:42,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 161 transitions. [2022-04-08 09:06:43,043 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-08 09:06:43,129 INFO L225 Difference]: With dead ends: 2132 [2022-04-08 09:06:43,129 INFO L226 Difference]: Without dead ends: 1431 [2022-04-08 09:06:43,130 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 201 SyntacticMatches, 1 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1572 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=548, Invalid=6592, Unknown=0, NotChecked=0, Total=7140 [2022-04-08 09:06:43,131 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 124 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 1177 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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-08 09:06:43,131 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-08 09:06:43,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1431 states. [2022-04-08 09:06:55,635 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1431 to 1146. [2022-04-08 09:06:55,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:06:55,636 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-08 09:06:55,637 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-08 09:06:55,637 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-08 09:06:55,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:06:55,688 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-08 09:06:55,688 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-08 09:06:55,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:06:55,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:06:55,690 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-08 09:06:55,691 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-08 09:06:55,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:06:55,741 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-08 09:06:55,741 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-08 09:06:55,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:06:55,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:06:55,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:06:55,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:06:55,743 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-08 09:06:55,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1146 states to 1146 states and 1558 transitions. [2022-04-08 09:06:55,791 INFO L78 Accepts]: Start accepts. Automaton has 1146 states and 1558 transitions. Word has length 110 [2022-04-08 09:06:55,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:06:55,791 INFO L478 AbstractCegarLoop]: Abstraction has 1146 states and 1558 transitions. [2022-04-08 09:06:55,792 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-08 09:06:55,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1146 states and 1558 transitions. [2022-04-08 09:07:03,324 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-08 09:07:03,325 INFO L276 IsEmpty]: Start isEmpty. Operand 1146 states and 1558 transitions. [2022-04-08 09:07:03,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:07:03,326 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:07:03,326 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-08 09:07:03,342 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Ended with exit code 0 [2022-04-08 09:07:03,526 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-08 09:07:03,527 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:07:03,527 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:07:03,527 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 23 times [2022-04-08 09:07:03,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:07:03,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1241235936] [2022-04-08 09:07:03,529 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:07:03,529 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:07:03,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 24 times [2022-04-08 09:07:03,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:07:03,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1132685259] [2022-04-08 09:07:03,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:07:03,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:07:03,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:03,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:07:03,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:03,666 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-08 09:07:03,667 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-08 09:07:03,668 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-08 09:07:03,673 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:07:03,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:05,090 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-08 09:07:05,090 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-08 09:07:05,091 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-08 09:07:05,091 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-08 09:07:05,092 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-08 09:07:05,093 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-08 09:07:05,093 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-08 09:07:05,094 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-08 09:07:05,095 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-08 09:07:05,096 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-08 09:07:05,096 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-08 09:07:05,098 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-08 09:07:05,099 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-08 09:07:05,100 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-08 09:07:05,101 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-08 09:07:05,103 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-08 09:07:05,104 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-08 09:07:05,105 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-08 09:07:05,105 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-08 09:07:05,106 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-08 09:07:05,107 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-08 09:07:05,108 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-08 09:07:05,108 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-08 09:07:05,109 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-08 09:07:05,110 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-08 09:07:05,111 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-08 09:07:05,111 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-08 09:07:05,112 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-08 09:07:05,112 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-08 09:07:05,113 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-08 09:07:05,113 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-08 09:07:05,114 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-08 09:07:05,114 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-08 09:07:05,114 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-08 09:07:05,115 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-08 09:07:05,115 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-08 09:07:05,116 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-08 09:07:05,116 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-08 09:07:05,117 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-08 09:07:05,117 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-08 09:07:05,117 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-08 09:07:05,118 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-08 09:07:05,118 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-08 09:07:05,119 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-08 09:07:05,119 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-08 09:07:05,119 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-08 09:07:05,120 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-08 09:07:05,120 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-08 09:07:05,121 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-08 09:07:05,122 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-08 09:07:05,122 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-08 09:07:05,123 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-08 09:07:05,123 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-08 09:07:05,123 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-08 09:07:05,124 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:07:05,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:05,191 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,192 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:07:05,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:05,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,206 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:07:05,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:05,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,208 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:07:05,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:05,210 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,210 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-08 09:07:05,211 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-08 09:07:05,212 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-08 09:07:05,212 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-08 09:07:05,212 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-08 09:07:05,213 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-08 09:07:05,214 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-08 09:07:05,214 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-08 09:07:05,214 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-08 09:07:05,215 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-08 09:07:05,215 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-08 09:07:05,216 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-08 09:07:05,216 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-08 09:07:05,217 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-08 09:07:05,217 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-08 09:07:05,218 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-08 09:07:05,218 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-08 09:07:05,218 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-08 09:07:05,219 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-08 09:07:05,219 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-08 09:07:05,220 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-08 09:07:05,220 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-08 09:07:05,221 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-08 09:07:05,222 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-08 09:07:05,222 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-08 09:07:05,223 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-08 09:07:05,224 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-08 09:07:05,225 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-08 09:07:05,226 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-08 09:07:05,227 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-08 09:07:05,228 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-08 09:07:05,230 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-08 09:07:05,231 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-08 09:07:05,232 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-08 09:07:05,233 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-08 09:07:05,234 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-08 09:07:05,235 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-08 09:07:05,235 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-08 09:07:05,236 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-08 09:07:05,237 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-08 09:07:05,237 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-08 09:07:05,238 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-08 09:07:05,239 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-08 09:07:05,245 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-08 09:07:05,245 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-08 09:07:05,245 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-08 09:07:05,246 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-08 09:07:05,247 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-08 09:07:05,247 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-08 09:07:05,248 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-08 09:07:05,248 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-08 09:07:05,248 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-08 09:07:05,249 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-08 09:07:05,249 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-08 09:07:05,250 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-08 09:07:05,250 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-08 09:07:05,251 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-08 09:07:05,251 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-08 09:07:05,251 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-08 09:07:05,252 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-08 09:07:05,252 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-08 09:07:05,252 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-08 09:07:05,253 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-08 09:07:05,253 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-08 09:07:05,254 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-08 09:07:05,254 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-08 09:07:05,254 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-08 09:07:05,255 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-08 09:07:05,255 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-08 09:07:05,256 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-08 09:07:05,256 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-08 09:07:05,256 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-08 09:07:05,257 INFO L290 TraceCheckUtils]: 72: Hoare triple {95635#false} ~i~1 := 0; {95635#false} is VALID [2022-04-08 09:07:05,257 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-08 09:07:05,257 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-08 09:07:05,257 INFO L290 TraceCheckUtils]: 75: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,257 INFO L290 TraceCheckUtils]: 76: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,257 INFO L290 TraceCheckUtils]: 77: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,257 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,257 INFO L290 TraceCheckUtils]: 79: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 09:07:05,257 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-08 09:07:05,257 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-08 09:07:05,257 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-08 09:07:05,257 INFO L290 TraceCheckUtils]: 83: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,257 INFO L290 TraceCheckUtils]: 84: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,257 INFO L290 TraceCheckUtils]: 85: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,257 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,257 INFO L290 TraceCheckUtils]: 87: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 09:07:05,258 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-08 09:07:05,258 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-08 09:07:05,258 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-08 09:07:05,258 INFO L290 TraceCheckUtils]: 91: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,258 INFO L290 TraceCheckUtils]: 92: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,258 INFO L290 TraceCheckUtils]: 93: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,258 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,258 INFO L290 TraceCheckUtils]: 95: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 09:07:05,258 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-08 09:07:05,258 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-08 09:07:05,258 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-08 09:07:05,258 INFO L290 TraceCheckUtils]: 99: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 09:07:05,258 INFO L290 TraceCheckUtils]: 100: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 09:07:05,258 INFO L290 TraceCheckUtils]: 101: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 09:07:05,258 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 09:07:05,259 INFO L290 TraceCheckUtils]: 103: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 09:07:05,259 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-08 09:07:05,259 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-08 09:07:05,259 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-08 09:07:05,259 INFO L290 TraceCheckUtils]: 107: Hoare triple {95635#false} ~cond := #in~cond; {95635#false} is VALID [2022-04-08 09:07:05,259 INFO L290 TraceCheckUtils]: 108: Hoare triple {95635#false} assume 0 == ~cond; {95635#false} is VALID [2022-04-08 09:07:05,259 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-08 09:07:05,260 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-08 09:07:05,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:07:05,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1132685259] [2022-04-08 09:07:05,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1132685259] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:07:05,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1539914378] [2022-04-08 09:07:05,260 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 09:07:05,260 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:07:05,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:07:05,261 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-08 09:07:05,262 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-08 09:07:05,605 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-08 09:07:05,606 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:07:05,609 INFO L263 TraceCheckSpWp]: Trace formula consists of 365 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-08 09:07:05,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:07:05,630 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:07:05,693 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:07:05,694 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-08 09:07:05,728 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-08 09:07:05,837 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:07:05,838 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-08 09:07:05,920 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:07:05,920 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-08 09:07:05,987 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 09:07:05,987 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-08 09:07:06,111 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 09:07:06,111 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-08 09:07:06,798 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-08 09:07:08,287 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:07:08,287 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-08 09:07:08,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {95634#true} call ULTIMATE.init(); {95634#true} is VALID [2022-04-08 09:07:08,394 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-08 09:07:08,394 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-08 09:07:08,395 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-08 09:07:08,395 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-08 09:07:08,396 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-08 09:07:08,396 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-08 09:07:08,396 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-08 09:07:08,397 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-08 09:07:08,398 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-08 09:07:08,398 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-08 09:07:08,398 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-08 09:07:08,399 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-08 09:07:08,400 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-08 09:07:08,400 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-08 09:07:08,401 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-08 09:07:08,401 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-08 09:07:08,402 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-08 09:07:08,402 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-08 09:07:08,402 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-08 09:07:08,403 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-08 09:07:08,403 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-08 09:07:08,403 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-08 09:07:08,404 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-08 09:07:08,404 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-08 09:07:08,404 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-08 09:07:08,405 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-08 09:07:08,405 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-08 09:07:08,405 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-08 09:07:08,406 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-08 09:07:08,406 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-08 09:07:08,406 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-08 09:07:08,407 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-08 09:07:08,407 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-08 09:07:08,408 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-08 09:07:08,408 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-08 09:07:08,408 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-08 09:07:08,409 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-08 09:07:08,409 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-08 09:07:08,409 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-08 09:07:08,410 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-08 09:07:08,410 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-08 09:07:08,411 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-08 09:07:08,411 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-08 09:07:08,411 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-08 09:07:08,412 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-08 09:07:08,413 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-08 09:07:08,414 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-08 09:07:08,414 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-08 09:07:08,415 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-08 09:07:08,415 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-08 09:07:08,415 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-08 09:07:08,416 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-08 09:07:08,416 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-08 09:07:08,416 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-08 09:07:08,431 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-08 09:07:08,436 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-08 09:07:08,437 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-08 09:07:08,438 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-08 09:07:08,438 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-08 09:07:08,438 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-08 09:07:08,439 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-08 09:07:08,439 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-08 09:07:08,441 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-08 09:07:08,441 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-08 09:07:08,442 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-08 09:07:08,442 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-08 09:07:08,444 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-08 09:07:08,444 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-08 09:07:08,445 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-08 09:07:08,445 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-08 09:07:08,446 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-08 09:07:08,446 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-08 09:07:08,447 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-08 09:07:08,447 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-08 09:07:08,448 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-08 09:07:08,448 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-08 09:07:08,448 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-08 09:07:08,449 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-08 09:07:08,449 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-08 09:07:08,450 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-08 09:07:08,450 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-08 09:07:08,451 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-08 09:07:08,451 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-08 09:07:08,451 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-08 09:07:08,452 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-08 09:07:08,452 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-08 09:07:08,452 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-08 09:07:08,453 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-08 09:07:08,453 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-08 09:07:08,454 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-08 09:07:08,454 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-08 09:07:08,455 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-08 09:07:08,455 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-08 09:07:08,455 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-08 09:07:08,456 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-08 09:07:08,456 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-08 09:07:08,457 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-08 09:07:08,457 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-08 09:07:08,458 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-08 09:07:08,458 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-08 09:07:08,458 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-08 09:07:08,459 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-08 09:07:08,459 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-08 09:07:08,459 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-08 09:07:08,460 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-08 09:07:08,460 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-08 09:07:08,461 INFO L290 TraceCheckUtils]: 107: Hoare triple {96081#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {96085#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:07:08,461 INFO L290 TraceCheckUtils]: 108: Hoare triple {96085#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {95635#false} is VALID [2022-04-08 09:07:08,461 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-08 09:07:08,462 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-08 09:07:08,462 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:07:08,878 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-08 09:07:08,879 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1539914378] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:07:08,879 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:07:08,879 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 23] total 55 [2022-04-08 09:07:08,879 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:07:08,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1241235936] [2022-04-08 09:07:08,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1241235936] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:07:08,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:07:08,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-08 09:07:08,880 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1489387578] [2022-04-08 09:07:08,880 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:07:08,880 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-08 09:07:08,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:07:08,880 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-08 09:07:08,940 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-08 09:07:08,941 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-08 09:07:08,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:07:08,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-08 09:07:08,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=248, Invalid=3526, Unknown=12, NotChecked=120, Total=3906 [2022-04-08 09:07:08,941 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-08 09:08:07,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:08:07,341 INFO L93 Difference]: Finished difference Result 3247 states and 4448 transitions. [2022-04-08 09:08:07,341 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 102 states. [2022-04-08 09:08:07,341 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-08 09:08:07,341 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:08:07,341 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-08 09:08:07,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-08 09:08:07,343 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-08 09:08:07,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-08 09:08:07,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 209 transitions. [2022-04-08 09:08:07,676 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-08 09:08:07,908 INFO L225 Difference]: With dead ends: 3247 [2022-04-08 09:08:07,908 INFO L226 Difference]: Without dead ends: 2448 [2022-04-08 09:08:07,911 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-08 09:08:07,912 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-08 09:08:07,912 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-08 09:08:07,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2448 states. [2022-04-08 09:08:35,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2448 to 2216. [2022-04-08 09:08:35,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:08:35,825 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-08 09:08:35,826 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-08 09:08:35,827 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-08 09:08:35,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:08:35,968 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-08 09:08:35,968 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-08 09:08:35,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:08:35,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:08:35,972 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-08 09:08:35,973 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-08 09:08:36,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:08:36,114 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-08 09:08:36,114 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-08 09:08:36,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:08:36,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:08:36,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:08:36,116 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:08:36,118 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-08 09:08:36,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2216 states to 2216 states and 3039 transitions. [2022-04-08 09:08:36,312 INFO L78 Accepts]: Start accepts. Automaton has 2216 states and 3039 transitions. Word has length 110 [2022-04-08 09:08:36,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:08:36,312 INFO L478 AbstractCegarLoop]: Abstraction has 2216 states and 3039 transitions. [2022-04-08 09:08:36,312 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-08 09:08:36,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2216 states and 3039 transitions. [2022-04-08 09:08:53,678 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-08 09:08:53,678 INFO L276 IsEmpty]: Start isEmpty. Operand 2216 states and 3039 transitions. [2022-04-08 09:08:53,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:08:53,680 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:08:53,680 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-08 09:08:53,697 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-08 09:08:53,881 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-08 09:08:53,881 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:08:53,881 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:08:53,881 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 25 times [2022-04-08 09:08:53,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:08:53,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [937010089] [2022-04-08 09:08:53,883 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:08:53,883 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:08:53,883 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 26 times [2022-04-08 09:08:53,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:08:53,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1441554467] [2022-04-08 09:08:53,884 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:08:53,884 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:08:53,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:54,060 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:08:54,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:54,083 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-08 09:08:54,083 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-08 09:08:54,084 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-08 09:08:54,088 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:08:54,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:55,768 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-08 09:08:55,769 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-08 09:08:55,770 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-08 09:08:55,770 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-08 09:08:55,771 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-08 09:08:55,771 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-08 09:08:55,772 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-08 09:08:55,772 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-08 09:08:55,773 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-08 09:08:55,773 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-08 09:08:55,774 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-08 09:08:55,775 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-08 09:08:55,776 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-08 09:08:55,777 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-08 09:08:55,778 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-08 09:08:55,779 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-08 09:08:55,780 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-08 09:08:55,781 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-08 09:08:55,782 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-08 09:08:55,782 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-08 09:08:55,784 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-08 09:08:55,784 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-08 09:08:55,785 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-08 09:08:55,786 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-08 09:08:55,787 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-08 09:08:55,788 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-08 09:08:55,789 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-08 09:08:55,790 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-08 09:08:55,791 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-08 09:08:55,792 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-08 09:08:55,793 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-08 09:08:55,793 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-08 09:08:55,794 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-08 09:08:55,795 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-08 09:08:55,796 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-08 09:08:55,796 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-08 09:08:55,797 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-08 09:08:55,797 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-08 09:08:55,798 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-08 09:08:55,798 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-08 09:08:55,798 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-08 09:08:55,799 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-08 09:08:55,799 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-08 09:08:55,800 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-08 09:08:55,800 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-08 09:08:55,800 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-08 09:08:55,801 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-08 09:08:55,801 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-08 09:08:55,801 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-08 09:08:55,802 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-08 09:08:55,802 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-08 09:08:55,803 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-08 09:08:55,803 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-08 09:08:55,804 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-08 09:08:55,804 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:08:55,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:55,807 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,808 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:08:55,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:55,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,809 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:08:55,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:55,811 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:08:55,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:55,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,814 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-08 09:08:55,815 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-08 09:08:55,815 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-08 09:08:55,816 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-08 09:08:55,816 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-08 09:08:55,817 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-08 09:08:55,817 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-08 09:08:55,818 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-08 09:08:55,818 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-08 09:08:55,819 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-08 09:08:55,819 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-08 09:08:55,820 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-08 09:08:55,820 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-08 09:08:55,821 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-08 09:08:55,821 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-08 09:08:55,822 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-08 09:08:55,822 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-08 09:08:55,822 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-08 09:08:55,823 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-08 09:08:55,823 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-08 09:08:55,824 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-08 09:08:55,824 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-08 09:08:55,825 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-08 09:08:55,825 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-08 09:08:55,826 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-08 09:08:55,826 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-08 09:08:55,827 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-08 09:08:55,828 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-08 09:08:55,828 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-08 09:08:55,829 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-08 09:08:55,830 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-08 09:08:55,831 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-08 09:08:55,832 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-08 09:08:55,833 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-08 09:08:55,834 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-08 09:08:55,835 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-08 09:08:55,836 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-08 09:08:55,837 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-08 09:08:55,838 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-08 09:08:55,839 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-08 09:08:55,839 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-08 09:08:55,840 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-08 09:08:55,841 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-08 09:08:55,842 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-08 09:08:55,843 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-08 09:08:55,844 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-08 09:08:55,845 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-08 09:08:55,846 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-08 09:08:55,846 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-08 09:08:55,847 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-08 09:08:55,848 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-08 09:08:55,849 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-08 09:08:55,849 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-08 09:08:55,850 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-08 09:08:55,850 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-08 09:08:55,851 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-08 09:08:55,851 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-08 09:08:55,852 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-08 09:08:55,852 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-08 09:08:55,853 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-08 09:08:55,853 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-08 09:08:55,853 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-08 09:08:55,854 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-08 09:08:55,854 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-08 09:08:55,854 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-08 09:08:55,855 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-08 09:08:55,855 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-08 09:08:55,856 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-08 09:08:55,856 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-08 09:08:55,856 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-08 09:08:55,857 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-08 09:08:55,857 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-08 09:08:55,857 INFO L290 TraceCheckUtils]: 72: Hoare triple {112236#false} ~i~1 := 0; {112236#false} is VALID [2022-04-08 09:08:55,857 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-08 09:08:55,858 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-08 09:08:55,858 INFO L290 TraceCheckUtils]: 75: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,858 INFO L290 TraceCheckUtils]: 76: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,858 INFO L290 TraceCheckUtils]: 77: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,858 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,858 INFO L290 TraceCheckUtils]: 79: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 09:08:55,858 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-08 09:08:55,858 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-08 09:08:55,858 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-08 09:08:55,858 INFO L290 TraceCheckUtils]: 83: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,862 INFO L290 TraceCheckUtils]: 84: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,862 INFO L290 TraceCheckUtils]: 85: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,862 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,862 INFO L290 TraceCheckUtils]: 87: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 09:08:55,862 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-08 09:08:55,862 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-08 09:08:55,862 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-08 09:08:55,862 INFO L290 TraceCheckUtils]: 91: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,862 INFO L290 TraceCheckUtils]: 92: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,862 INFO L290 TraceCheckUtils]: 93: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,862 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,862 INFO L290 TraceCheckUtils]: 95: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 09:08:55,862 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-08 09:08:55,863 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-08 09:08:55,863 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-08 09:08:55,863 INFO L290 TraceCheckUtils]: 99: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 09:08:55,863 INFO L290 TraceCheckUtils]: 100: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 09:08:55,863 INFO L290 TraceCheckUtils]: 101: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 09:08:55,863 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 09:08:55,863 INFO L290 TraceCheckUtils]: 103: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 09:08:55,863 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-08 09:08:55,863 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-08 09:08:55,863 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-08 09:08:55,863 INFO L290 TraceCheckUtils]: 107: Hoare triple {112236#false} ~cond := #in~cond; {112236#false} is VALID [2022-04-08 09:08:55,863 INFO L290 TraceCheckUtils]: 108: Hoare triple {112236#false} assume 0 == ~cond; {112236#false} is VALID [2022-04-08 09:08:55,863 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-08 09:08:55,864 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-08 09:08:55,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:08:55,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1441554467] [2022-04-08 09:08:55,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1441554467] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:08:55,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1194309268] [2022-04-08 09:08:55,865 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 09:08:55,865 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:08:55,865 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:08:55,865 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-08 09:08:55,866 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-08 09:08:56,014 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 09:08:56,014 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:08:56,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 09:08:56,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:08:56,046 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:08:56,106 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 09:08:56,106 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-08 09:08:56,145 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-08 09:08:56,248 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:08:56,249 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-08 09:08:56,327 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:08:56,327 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-08 09:08:56,404 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:08:56,405 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-08 09:08:56,498 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 09:08:56,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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-08 09:08:57,090 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-08 09:08:58,605 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 09:08:58,606 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-08 09:08:58,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {112235#true} call ULTIMATE.init(); {112235#true} is VALID [2022-04-08 09:08:58,729 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-08 09:08:58,729 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-08 09:08:58,730 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-08 09:08:58,730 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-08 09:08:58,730 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-08 09:08:58,731 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-08 09:08:58,731 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-08 09:08:58,732 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-08 09:08:58,732 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-08 09:08:58,733 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-08 09:08:58,734 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-08 09:08:58,734 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-08 09:08:58,735 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-08 09:08:58,735 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-08 09:08:58,735 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-08 09:08:58,736 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-08 09:08:58,736 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-08 09:08:58,737 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-08 09:08:58,737 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-08 09:08:58,737 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-08 09:08:58,738 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-08 09:08:58,738 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-08 09:08:58,738 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-08 09:08:58,739 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-08 09:08:58,739 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-08 09:08:58,739 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-08 09:08:58,740 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-08 09:08:58,740 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-08 09:08:58,740 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-08 09:08:58,741 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-08 09:08:58,741 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-08 09:08:58,741 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-08 09:08:58,742 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-08 09:08:58,742 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-08 09:08:58,743 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-08 09:08:58,744 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-08 09:08:58,744 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-08 09:08:58,744 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-08 09:08:58,745 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-08 09:08:58,745 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-08 09:08:58,746 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-08 09:08:58,746 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-08 09:08:58,747 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-08 09:08:58,747 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-08 09:08:58,748 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-08 09:08:58,750 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-08 09:08:58,750 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-08 09:08:58,751 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-08 09:08:58,751 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-08 09:08:58,752 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-08 09:08:58,752 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-08 09:08:58,753 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-08 09:08:58,753 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-08 09:08:58,754 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-08 09:08:58,754 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-08 09:08:58,756 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-08 09:08:58,756 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-08 09:08:58,757 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-08 09:08:58,757 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-08 09:08:58,758 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-08 09:08:58,758 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-08 09:08:58,759 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-08 09:08:58,760 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-08 09:08:58,761 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-08 09:08:58,761 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-08 09:08:58,762 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-08 09:08:58,763 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-08 09:08:58,763 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-08 09:08:58,764 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-08 09:08:58,764 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-08 09:08:58,765 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-08 09:08:58,765 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-08 09:08:58,766 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-08 09:08:58,767 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-08 09:08:58,767 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-08 09:08:58,767 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-08 09:08:58,768 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-08 09:08:58,768 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-08 09:08:58,769 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-08 09:08:58,769 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-08 09:08:58,769 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-08 09:08:58,770 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-08 09:08:58,771 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-08 09:08:58,771 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-08 09:08:58,771 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-08 09:08:58,772 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-08 09:08:58,772 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-08 09:08:58,773 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-08 09:08:58,773 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-08 09:08:58,774 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-08 09:08:58,774 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-08 09:08:58,774 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-08 09:08:58,775 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-08 09:08:58,775 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-08 09:08:58,776 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-08 09:08:58,776 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-08 09:08:58,776 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-08 09:08:58,777 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-08 09:08:58,778 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-08 09:08:58,778 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-08 09:08:58,778 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-08 09:08:58,779 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-08 09:08:58,779 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-08 09:08:58,780 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-08 09:08:58,780 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-08 09:08:58,780 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-08 09:08:58,781 INFO L290 TraceCheckUtils]: 107: Hoare triple {112683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {112687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:08:58,781 INFO L290 TraceCheckUtils]: 108: Hoare triple {112687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {112236#false} is VALID [2022-04-08 09:08:58,781 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-08 09:08:58,782 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-08 09:08:58,782 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:08:59,237 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-08 09:08:59,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1194309268] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:08:59,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:08:59,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 22] total 56 [2022-04-08 09:08:59,238 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:08:59,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [937010089] [2022-04-08 09:08:59,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [937010089] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:08:59,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:08:59,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-08 09:08:59,238 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [238050648] [2022-04-08 09:08:59,238 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:08:59,239 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-08 09:08:59,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:08:59,239 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-08 09:08:59,302 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-08 09:08:59,302 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-08 09:08:59,302 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:08:59,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-08 09:08:59,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=3669, Unknown=11, NotChecked=122, Total=4032 [2022-04-08 09:08:59,303 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-08 09:09:57,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:09:57,447 INFO L93 Difference]: Finished difference Result 3068 states and 4214 transitions. [2022-04-08 09:09:57,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 85 states. [2022-04-08 09:09:57,447 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-08 09:09:57,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:09:57,448 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-08 09:09:57,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-08 09:09:57,449 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-08 09:09:57,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-08 09:09:57,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 209 transitions. [2022-04-08 09:09:57,779 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-08 09:09:58,084 INFO L225 Difference]: With dead ends: 3068 [2022-04-08 09:09:58,084 INFO L226 Difference]: Without dead ends: 2901 [2022-04-08 09:09:58,086 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 280 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 143 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 6074 ImplicationChecksByTransitivity, 12.2s TimeCoverageRelationStatistics Valid=2026, Invalid=18529, Unknown=41, NotChecked=284, Total=20880 [2022-04-08 09:09:58,086 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 208 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 2400 mSolverCounterSat, 214 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 209 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 2614 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 214 IncrementalHoareTripleChecker+Valid, 2400 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-08 09:09:58,086 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.4s Time] [2022-04-08 09:09:58,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2901 states. [2022-04-08 09:10:26,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2901 to 2224. [2022-04-08 09:10:26,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 09:10:26,933 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-08 09:10:26,934 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-08 09:10:26,935 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-08 09:10:27,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:10:27,134 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-08 09:10:27,134 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-08 09:10:27,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:10:27,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:10:27,138 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-08 09:10:27,139 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-08 09:10:27,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:10:27,334 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-08 09:10:27,334 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-08 09:10:27,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 09:10:27,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 09:10:27,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 09:10:27,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 09:10:27,338 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-08 09:10:27,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2224 states to 2224 states and 3044 transitions. [2022-04-08 09:10:27,533 INFO L78 Accepts]: Start accepts. Automaton has 2224 states and 3044 transitions. Word has length 110 [2022-04-08 09:10:27,533 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 09:10:27,533 INFO L478 AbstractCegarLoop]: Abstraction has 2224 states and 3044 transitions. [2022-04-08 09:10:27,533 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-08 09:10:27,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2224 states and 3044 transitions. [2022-04-08 09:10:46,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 3044 edges. 3044 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 09:10:46,369 INFO L276 IsEmpty]: Start isEmpty. Operand 2224 states and 3044 transitions. [2022-04-08 09:10:46,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 09:10:46,372 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 09:10:46,372 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-08 09:10:46,388 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Ended with exit code 0 [2022-04-08 09:10:46,572 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37,37 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:10:46,572 INFO L403 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 09:10:46,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 09:10:46,573 INFO L85 PathProgramCache]: Analyzing trace with hash -498967174, now seen corresponding path program 27 times [2022-04-08 09:10:46,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 09:10:46,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1105623921] [2022-04-08 09:10:46,574 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 09:10:46,574 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 09:10:46,575 INFO L85 PathProgramCache]: Analyzing trace with hash -498967174, now seen corresponding path program 28 times [2022-04-08 09:10:46,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 09:10:46,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1288468522] [2022-04-08 09:10:46,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 09:10:46,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 09:10:46,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,277 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 09:10:47,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {129459#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,303 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {129367#true} #95#return; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 09:10:47,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,407 INFO L290 TraceCheckUtils]: 0: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:10:47,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:10:47,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,409 INFO L290 TraceCheckUtils]: 3: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,409 INFO L290 TraceCheckUtils]: 4: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,410 INFO L290 TraceCheckUtils]: 6: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,411 INFO L290 TraceCheckUtils]: 10: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,414 INFO L290 TraceCheckUtils]: 16: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,414 INFO L290 TraceCheckUtils]: 17: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,414 INFO L290 TraceCheckUtils]: 18: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,415 INFO L290 TraceCheckUtils]: 19: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,418 INFO L290 TraceCheckUtils]: 28: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,418 INFO L290 TraceCheckUtils]: 29: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,420 INFO L290 TraceCheckUtils]: 32: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,420 INFO L290 TraceCheckUtils]: 33: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,420 INFO L290 TraceCheckUtils]: 34: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,421 INFO L290 TraceCheckUtils]: 35: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,421 INFO L290 TraceCheckUtils]: 36: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,421 INFO L290 TraceCheckUtils]: 37: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,422 INFO L290 TraceCheckUtils]: 38: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,422 INFO L290 TraceCheckUtils]: 39: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,423 INFO L290 TraceCheckUtils]: 40: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,423 INFO L290 TraceCheckUtils]: 41: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,423 INFO L290 TraceCheckUtils]: 42: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,424 INFO L290 TraceCheckUtils]: 43: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,424 INFO L290 TraceCheckUtils]: 44: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,425 INFO L290 TraceCheckUtils]: 45: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,425 INFO L290 TraceCheckUtils]: 46: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,426 INFO L290 TraceCheckUtils]: 47: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,426 INFO L290 TraceCheckUtils]: 48: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,427 INFO L290 TraceCheckUtils]: 50: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,427 INFO L290 TraceCheckUtils]: 51: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,428 INFO L290 TraceCheckUtils]: 52: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,429 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} #91#return; {129434#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4))} is VALID [2022-04-08 09:10:47,429 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 09:10:47,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,432 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} #93#return; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-08 09:10:47,433 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 09:10:47,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,435 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} #93#return; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-08 09:10:47,436 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 09:10:47,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,438 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} #93#return; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-08 09:10:47,438 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 09:10:47,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} #93#return; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-08 09:10:47,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {129367#true} call ULTIMATE.init(); {129459#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 09:10:47,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {129459#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {129367#true} #95#return; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,444 INFO L272 TraceCheckUtils]: 4: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,444 INFO L290 TraceCheckUtils]: 5: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {129373#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} is VALID [2022-04-08 09:10:47,445 INFO L290 TraceCheckUtils]: 6: Hoare triple {129373#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129374#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} is VALID [2022-04-08 09:10:47,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {129374#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,448 INFO L290 TraceCheckUtils]: 10: Hoare triple {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,449 INFO L290 TraceCheckUtils]: 11: Hoare triple {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,450 INFO L290 TraceCheckUtils]: 12: Hoare triple {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129378#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (or (and (not (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:47,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {129378#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (or (and (not (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:47,453 INFO L272 TraceCheckUtils]: 17: Hoare triple {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} call SelectionSort(); {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:10:47,453 INFO L290 TraceCheckUtils]: 18: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:10:47,453 INFO L290 TraceCheckUtils]: 19: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 09:10:47,454 INFO L290 TraceCheckUtils]: 20: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,454 INFO L290 TraceCheckUtils]: 21: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,456 INFO L290 TraceCheckUtils]: 25: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,456 INFO L290 TraceCheckUtils]: 26: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,456 INFO L290 TraceCheckUtils]: 27: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,457 INFO L290 TraceCheckUtils]: 28: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,458 INFO L290 TraceCheckUtils]: 31: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,458 INFO L290 TraceCheckUtils]: 32: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-08 09:10:47,459 INFO L290 TraceCheckUtils]: 33: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,459 INFO L290 TraceCheckUtils]: 34: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,459 INFO L290 TraceCheckUtils]: 35: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,460 INFO L290 TraceCheckUtils]: 36: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,460 INFO L290 TraceCheckUtils]: 37: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,460 INFO L290 TraceCheckUtils]: 38: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,461 INFO L290 TraceCheckUtils]: 41: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,462 INFO L290 TraceCheckUtils]: 42: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,462 INFO L290 TraceCheckUtils]: 43: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,462 INFO L290 TraceCheckUtils]: 44: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,463 INFO L290 TraceCheckUtils]: 45: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,463 INFO L290 TraceCheckUtils]: 46: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,463 INFO L290 TraceCheckUtils]: 47: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,464 INFO L290 TraceCheckUtils]: 48: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,464 INFO L290 TraceCheckUtils]: 49: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,464 INFO L290 TraceCheckUtils]: 50: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,465 INFO L290 TraceCheckUtils]: 51: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,465 INFO L290 TraceCheckUtils]: 52: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,465 INFO L290 TraceCheckUtils]: 53: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,466 INFO L290 TraceCheckUtils]: 54: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,466 INFO L290 TraceCheckUtils]: 55: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,467 INFO L290 TraceCheckUtils]: 56: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,467 INFO L290 TraceCheckUtils]: 57: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,467 INFO L290 TraceCheckUtils]: 58: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,468 INFO L290 TraceCheckUtils]: 59: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,468 INFO L290 TraceCheckUtils]: 60: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,468 INFO L290 TraceCheckUtils]: 61: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,469 INFO L290 TraceCheckUtils]: 62: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,469 INFO L290 TraceCheckUtils]: 63: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,469 INFO L290 TraceCheckUtils]: 64: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,470 INFO L290 TraceCheckUtils]: 65: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,470 INFO L290 TraceCheckUtils]: 66: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,471 INFO L290 TraceCheckUtils]: 67: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,471 INFO L290 TraceCheckUtils]: 68: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,471 INFO L290 TraceCheckUtils]: 69: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,472 INFO L290 TraceCheckUtils]: 70: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-08 09:10:47,472 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} #91#return; {129434#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4))} is VALID [2022-04-08 09:10:47,473 INFO L290 TraceCheckUtils]: 72: Hoare triple {129434#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4))} ~i~1 := 0; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-08 09:10:47,473 INFO L290 TraceCheckUtils]: 73: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-08 09:10:47,473 INFO L272 TraceCheckUtils]: 74: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-08 09:10:47,473 INFO L290 TraceCheckUtils]: 75: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,473 INFO L290 TraceCheckUtils]: 76: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,473 INFO L290 TraceCheckUtils]: 77: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,474 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {129367#true} {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} #93#return; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-08 09:10:47,474 INFO L290 TraceCheckUtils]: 79: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} havoc #t~mem9; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-08 09:10:47,475 INFO L290 TraceCheckUtils]: 80: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-08 09:10:47,475 INFO L290 TraceCheckUtils]: 81: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-08 09:10:47,475 INFO L272 TraceCheckUtils]: 82: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-08 09:10:47,475 INFO L290 TraceCheckUtils]: 83: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,475 INFO L290 TraceCheckUtils]: 84: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,475 INFO L290 TraceCheckUtils]: 85: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,476 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {129367#true} {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} #93#return; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-08 09:10:47,476 INFO L290 TraceCheckUtils]: 87: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} havoc #t~mem9; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-08 09:10:47,477 INFO L290 TraceCheckUtils]: 88: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-08 09:10:47,477 INFO L290 TraceCheckUtils]: 89: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-08 09:10:47,477 INFO L272 TraceCheckUtils]: 90: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-08 09:10:47,477 INFO L290 TraceCheckUtils]: 91: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,477 INFO L290 TraceCheckUtils]: 92: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,477 INFO L290 TraceCheckUtils]: 93: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,478 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {129367#true} {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} #93#return; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-08 09:10:47,478 INFO L290 TraceCheckUtils]: 95: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} havoc #t~mem9; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-08 09:10:47,479 INFO L290 TraceCheckUtils]: 96: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-08 09:10:47,479 INFO L290 TraceCheckUtils]: 97: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-08 09:10:47,479 INFO L272 TraceCheckUtils]: 98: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-08 09:10:47,479 INFO L290 TraceCheckUtils]: 99: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 09:10:47,479 INFO L290 TraceCheckUtils]: 100: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 09:10:47,480 INFO L290 TraceCheckUtils]: 101: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 09:10:47,480 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {129367#true} {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} #93#return; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-08 09:10:47,480 INFO L290 TraceCheckUtils]: 103: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} havoc #t~mem9; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-08 09:10:47,481 INFO L290 TraceCheckUtils]: 104: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129455#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-08 09:10:47,481 INFO L290 TraceCheckUtils]: 105: Hoare triple {129455#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129456#(= main_~i~1 |main_#t~mem9|)} is VALID [2022-04-08 09:10:47,482 INFO L272 TraceCheckUtils]: 106: Hoare triple {129456#(= main_~i~1 |main_#t~mem9|)} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129457#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 09:10:47,482 INFO L290 TraceCheckUtils]: 107: Hoare triple {129457#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {129458#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 09:10:47,482 INFO L290 TraceCheckUtils]: 108: Hoare triple {129458#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {129368#false} is VALID [2022-04-08 09:10:47,482 INFO L290 TraceCheckUtils]: 109: Hoare triple {129368#false} assume !false; {129368#false} is VALID [2022-04-08 09:10:47,483 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 8 proven. 168 refuted. 0 times theorem prover too weak. 143 trivial. 0 not checked. [2022-04-08 09:10:47,483 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 09:10:47,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1288468522] [2022-04-08 09:10:47,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1288468522] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:10:47,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1493131956] [2022-04-08 09:10:47,483 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 09:10:47,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 09:10:47,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 09:10:47,484 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 09:10:47,485 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2022-04-08 09:10:47,673 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 09:10:47,673 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 09:10:47,675 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 72 conjunts are in the unsatisfiable core [2022-04-08 09:10:47,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 09:10:47,699 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 09:10:47,753 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-08 09:10:47,825 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 09:10:47,825 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-08 09:10:47,887 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 09:10:47,887 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-08 09:10:47,957 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:47,957 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 29 [2022-04-08 09:10:48,078 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:48,079 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:48,080 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:48,082 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 09:10:48,082 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 44 treesize of output 46 [2022-04-08 09:10:49,670 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-04-08 09:10:49,670 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 57 treesize of output 55 [2022-04-08 09:10:53,983 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:53,987 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:53,988 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:53,989 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:53,989 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 09:10:53,990 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 09:10:53,992 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 09:10:53,992 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 45 treesize of output 20 [2022-04-08 09:10:54,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {129367#true} call ULTIMATE.init(); {129367#true} is VALID [2022-04-08 09:10:54,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:10:54,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {129469#(= |~#array~0.offset| 0)} assume true; {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:10:54,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129469#(= |~#array~0.offset| 0)} {129367#true} #95#return; {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:10:54,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {129469#(= |~#array~0.offset| 0)} call #t~ret10 := main(); {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-08 09:10:54,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {129469#(= |~#array~0.offset| 0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {129482#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,169 INFO L290 TraceCheckUtils]: 6: Hoare triple {129482#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129486#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-08 09:10:54,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {129486#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,171 INFO L290 TraceCheckUtils]: 10: Hoare triple {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129504#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} is VALID [2022-04-08 09:10:54,173 INFO L290 TraceCheckUtils]: 12: Hoare triple {129504#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129508#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)) (<= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-08 09:10:54,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {129508#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)) (<= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129512#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {129512#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129516#(and (= |main_~#array~1.offset| 0) (<= 0 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) main_~i~1) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {129516#(and (= |main_~#array~1.offset| 0) (<= 0 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) main_~i~1) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129520#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))) (<= v_main_~i~1_309 (+ main_~i~1 1)))) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,176 INFO L290 TraceCheckUtils]: 16: Hoare triple {129520#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))) (<= v_main_~i~1_309 (+ main_~i~1 1)))) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {129524#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,177 INFO L272 TraceCheckUtils]: 17: Hoare triple {129524#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call SelectionSort(); {129528#(and (= |#memory_int| |old(#memory_int)|) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {129528#(and (= |#memory_int| |old(#memory_int)|) (= |~#array~0.offset| 0))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {129532#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,177 INFO L290 TraceCheckUtils]: 19: Hoare triple {129532#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129536#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {129536#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129540#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-08 09:10:54,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {129540#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,179 INFO L290 TraceCheckUtils]: 22: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,182 INFO L290 TraceCheckUtils]: 30: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,183 INFO L290 TraceCheckUtils]: 31: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,183 INFO L290 TraceCheckUtils]: 32: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !(~i~0 < ~n~0); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129581#(and (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-08 09:10:54,185 INFO L290 TraceCheckUtils]: 34: Hoare triple {129581#(and (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,185 INFO L290 TraceCheckUtils]: 35: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,185 INFO L290 TraceCheckUtils]: 36: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,186 INFO L290 TraceCheckUtils]: 37: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,186 INFO L290 TraceCheckUtils]: 38: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,187 INFO L290 TraceCheckUtils]: 39: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,187 INFO L290 TraceCheckUtils]: 40: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,187 INFO L290 TraceCheckUtils]: 41: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,189 INFO L290 TraceCheckUtils]: 45: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,191 WARN L290 TraceCheckUtils]: 46: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-08 09:10:54,191 INFO L290 TraceCheckUtils]: 47: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,192 INFO L290 TraceCheckUtils]: 48: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,192 INFO L290 TraceCheckUtils]: 49: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,193 INFO L290 TraceCheckUtils]: 50: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,193 INFO L290 TraceCheckUtils]: 51: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,193 INFO L290 TraceCheckUtils]: 52: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,194 INFO L290 TraceCheckUtils]: 53: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,194 INFO L290 TraceCheckUtils]: 54: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,195 INFO L290 TraceCheckUtils]: 55: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,196 WARN L290 TraceCheckUtils]: 56: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-08 09:10:54,197 INFO L290 TraceCheckUtils]: 57: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,197 INFO L290 TraceCheckUtils]: 58: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,197 INFO L290 TraceCheckUtils]: 59: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,198 INFO L290 TraceCheckUtils]: 60: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,198 INFO L290 TraceCheckUtils]: 61: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,199 INFO L290 TraceCheckUtils]: 62: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,200 WARN L290 TraceCheckUtils]: 63: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-08 09:10:54,201 INFO L290 TraceCheckUtils]: 64: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129678#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= 3 (+ (- 1) SelectionSort_~lh~0)))} is VALID [2022-04-08 09:10:54,201 INFO L290 TraceCheckUtils]: 65: Hoare triple {129678#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= 3 (+ (- 1) SelectionSort_~lh~0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,201 INFO L290 TraceCheckUtils]: 66: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,203 WARN L290 TraceCheckUtils]: 67: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-08 09:10:54,203 INFO L290 TraceCheckUtils]: 68: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,204 INFO L290 TraceCheckUtils]: 69: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~lh~0 < ~n~0); {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,204 INFO L290 TraceCheckUtils]: 70: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume true; {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-08 09:10:54,205 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} {129524#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #91#return; {129701#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,206 INFO L290 TraceCheckUtils]: 72: Hoare triple {129701#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} ~i~1 := 0; {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-08 09:10:54,207 INFO L290 TraceCheckUtils]: 73: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-08 09:10:54,208 INFO L272 TraceCheckUtils]: 74: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,209 INFO L290 TraceCheckUtils]: 75: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,210 INFO L290 TraceCheckUtils]: 76: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,211 INFO L290 TraceCheckUtils]: 77: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,211 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} #93#return; {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-08 09:10:54,212 INFO L290 TraceCheckUtils]: 79: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} havoc #t~mem9; {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-08 09:10:54,213 INFO L290 TraceCheckUtils]: 80: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,214 INFO L290 TraceCheckUtils]: 81: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,215 INFO L272 TraceCheckUtils]: 82: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,216 INFO L290 TraceCheckUtils]: 83: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,217 INFO L290 TraceCheckUtils]: 84: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,218 INFO L290 TraceCheckUtils]: 85: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,218 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #93#return; {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,219 INFO L290 TraceCheckUtils]: 87: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} havoc #t~mem9; {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,220 INFO L290 TraceCheckUtils]: 88: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,221 INFO L290 TraceCheckUtils]: 89: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,222 INFO L272 TraceCheckUtils]: 90: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,223 INFO L290 TraceCheckUtils]: 91: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,223 INFO L290 TraceCheckUtils]: 92: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,224 INFO L290 TraceCheckUtils]: 93: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,225 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #93#return; {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,226 INFO L290 TraceCheckUtils]: 95: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} havoc #t~mem9; {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,227 INFO L290 TraceCheckUtils]: 96: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,227 INFO L290 TraceCheckUtils]: 97: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,229 INFO L272 TraceCheckUtils]: 98: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,229 INFO L290 TraceCheckUtils]: 99: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,230 INFO L290 TraceCheckUtils]: 100: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,231 INFO L290 TraceCheckUtils]: 101: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-08 09:10:54,231 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #93#return; {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,232 INFO L290 TraceCheckUtils]: 103: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} havoc #t~mem9; {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,233 INFO L290 TraceCheckUtils]: 104: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129806#(and (= |main_~#array~1.offset| 0) (= main_~i~1 4) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-08 09:10:54,234 INFO L290 TraceCheckUtils]: 105: Hoare triple {129806#(and (= |main_~#array~1.offset| 0) (= main_~i~1 4) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129810#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} is VALID [2022-04-08 09:10:54,235 INFO L272 TraceCheckUtils]: 106: Hoare triple {129810#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 09:10:54,235 INFO L290 TraceCheckUtils]: 107: Hoare triple {129814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {129818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 09:10:54,235 INFO L290 TraceCheckUtils]: 108: Hoare triple {129818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {129368#false} is VALID [2022-04-08 09:10:54,235 INFO L290 TraceCheckUtils]: 109: Hoare triple {129368#false} assume !false; {129368#false} is VALID [2022-04-08 09:10:54,236 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 5 proven. 257 refuted. 0 times theorem prover too weak. 57 trivial. 0 not checked. [2022-04-08 09:10:54,236 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 09:10:54,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1493131956] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 09:10:54,782 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 09:10:54,782 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 34] total 55 [2022-04-08 09:10:54,782 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 09:10:54,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1105623921] [2022-04-08 09:10:54,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1105623921] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 09:10:54,782 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 09:10:54,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 09:10:54,783 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1164258316] [2022-04-08 09:10:54,783 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 09:10:54,783 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 110 [2022-04-08 09:10:54,783 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 09:10:54,783 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 09:10:54,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 09:10:54,832 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 09:10:54,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 09:10:54,832 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 09:10:54,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=291, Invalid=3479, Unknown=12, NotChecked=0, Total=3782 [2022-04-08 09:10:54,832 INFO L87 Difference]: Start difference. First operand 2224 states and 3044 transitions. Second operand has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 09:11:26,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 09:11:26,894 INFO L93 Difference]: Finished difference Result 2236 states and 3056 transitions. [2022-04-08 09:11:26,894 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-08 09:11:26,894 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 110 [2022-04-08 09:11:26,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 09:11:26,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 09:11:26,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 76 transitions. [2022-04-08 09:11:26,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 09:11:26,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 76 transitions. [2022-04-08 09:11:26,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 76 transitions. [2022-04-08 09:11:26,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 09:11:27,177 INFO L225 Difference]: With dead ends: 2236 [2022-04-08 09:11:27,177 INFO L226 Difference]: Without dead ends: 2234 [2022-04-08 09:11:27,178 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 212 GetRequests, 117 SyntacticMatches, 13 SemanticMatches, 82 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2579 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=628, Invalid=6328, Unknown=16, NotChecked=0, Total=6972 [2022-04-08 09:11:27,178 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 119 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 810 mSolverCounterSat, 136 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 119 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 946 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 136 IncrementalHoareTripleChecker+Valid, 810 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 09:11:27,178 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [119 Valid, 49 Invalid, 946 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [136 Valid, 810 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 09:11:27,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2234 states.