/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/loops/eureka_05.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 03:34:56,343 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 03:34:56,345 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 03:34:56,366 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 03:34:56,366 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 03:34:56,367 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 03:34:56,368 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 03:34:56,369 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 03:34:56,371 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 03:34:56,371 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 03:34:56,372 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 03:34:56,372 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 03:34:56,373 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 03:34:56,373 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 03:34:56,374 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 03:34:56,375 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 03:34:56,375 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 03:34:56,376 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 03:34:56,377 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 03:34:56,378 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 03:34:56,379 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 03:34:56,380 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 03:34:56,380 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 03:34:56,381 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 03:34:56,382 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 03:34:56,383 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 03:34:56,384 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 03:34:56,384 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 03:34:56,384 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 03:34:56,385 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 03:34:56,385 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 03:34:56,385 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 03:34:56,386 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 03:34:56,386 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 03:34:56,387 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 03:34:56,388 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 03:34:56,388 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 03:34:56,388 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 03:34:56,388 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 03:34:56,389 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 03:34:56,389 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 03:34:56,390 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 03:34:56,390 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 03:34:56,396 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 03:34:56,397 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 03:34:56,398 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 03:34:56,398 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 03:34:56,398 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 03:34:56,398 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 03:34:56,399 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 03:34:56,399 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 03:34:56,399 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 03:34:56,399 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 03:34:56,399 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 03:34:56,400 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 03:34:56,400 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 03:34:56,400 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 03:34:56,400 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 03:34:56,400 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 03:34:56,400 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 03:34:56,401 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 03:34:56,401 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 03:34:56,401 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 03:34:56,401 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 03:34:56,401 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 03:34:56,402 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 03:34:56,402 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 03:34:56,402 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 03:34:56,402 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 03:34:56,584 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 03:34:56,606 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 03:34:56,608 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 03:34:56,609 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 03:34:56,610 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 03:34:56,612 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 03:34:56,677 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/541627d75/ddce7b04b2514c6a8ef7ed2e802a634d/FLAGee8e6309b [2022-04-08 03:34:57,047 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 03:34:57,047 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i [2022-04-08 03:34:57,052 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/541627d75/ddce7b04b2514c6a8ef7ed2e802a634d/FLAGee8e6309b [2022-04-08 03:34:57,072 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/541627d75/ddce7b04b2514c6a8ef7ed2e802a634d [2022-04-08 03:34:57,074 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 03:34:57,075 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 03:34:57,076 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 03:34:57,076 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 03:34:57,078 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 03:34:57,080 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,080 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@12f2f736 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57, skipping insertion in model container [2022-04-08 03:34:57,081 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,085 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 03:34:57,094 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 03:34:57,204 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 03:34:57,215 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 03:34:57,222 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 03:34:57,230 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 03:34:57,236 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 03:34:57,246 INFO L208 MainTranslator]: Completed translation [2022-04-08 03:34:57,246 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57 WrapperNode [2022-04-08 03:34:57,246 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 03:34:57,247 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 03:34:57,247 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 03:34:57,247 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 03:34:57,254 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,255 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,259 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,260 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,266 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,270 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,271 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,272 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 03:34:57,273 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 03:34:57,273 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 03:34:57,273 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 03:34:57,274 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 03:34:57,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:34:57,302 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 03:34:57,304 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 03:34:57,330 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 03:34:57,330 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 03:34:57,331 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 03:34:57,331 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 03:34:57,331 INFO L138 BoogieDeclarations]: Found implementation of procedure SelectionSort [2022-04-08 03:34:57,331 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 03:34:57,331 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 03:34:57,331 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 03:34:57,331 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2022-04-08 03:34:57,331 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2022-04-08 03:34:57,331 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 03:34:57,331 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 03:34:57,331 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure SelectionSort [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 03:34:57,332 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 03:34:57,377 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 03:34:57,378 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 03:34:57,504 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 03:34:57,509 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 03:34:57,510 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-04-08 03:34:57,511 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 03:34:57 BoogieIcfgContainer [2022-04-08 03:34:57,511 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 03:34:57,512 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 03:34:57,512 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 03:34:57,525 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 03:34:57,525 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 03:34:57" (1/3) ... [2022-04-08 03:34:57,526 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@109a91b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 03:34:57, skipping insertion in model container [2022-04-08 03:34:57,526 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (2/3) ... [2022-04-08 03:34:57,526 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@109a91b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 03:34:57, skipping insertion in model container [2022-04-08 03:34:57,526 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 03:34:57" (3/3) ... [2022-04-08 03:34:57,529 INFO L111 eAbstractionObserver]: Analyzing ICFG eureka_05.i [2022-04-08 03:34:57,532 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 03:34:57,533 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 03:34:57,562 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 03:34:57,567 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 03:34:57,567 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 03:34:57,580 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 03:34:57,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 03:34:57,587 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:34:57,588 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 03:34:57,588 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:34:57,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:34:57,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 1 times [2022-04-08 03:34:57,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:57,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [297706752] [2022-04-08 03:34:57,605 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 03:34:57,606 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 2 times [2022-04-08 03:34:57,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:34:57,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [419994647] [2022-04-08 03:34:57,610 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:34:57,611 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:34:57,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:57,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:34:57,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:57,790 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 03:34:57,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 03:34:57,791 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-08 03:34:57,800 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 03:34:57,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:57,821 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 03:34:57,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-08 03:34:57,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 03:34:57,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-08 03:34:57,823 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 03:34:57,823 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 03:34:57,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 03:34:57,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-08 03:34:57,823 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret10 := main(); {37#true} is VALID [2022-04-08 03:34:57,824 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 03:34:57,826 INFO L290 TraceCheckUtils]: 6: Hoare triple {37#true} assume !true; {38#false} is VALID [2022-04-08 03:34:57,826 INFO L272 TraceCheckUtils]: 7: Hoare triple {38#false} call SelectionSort(); {47#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:34:57,826 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 03:34:57,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-08 03:34:57,827 INFO L290 TraceCheckUtils]: 10: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 03:34:57,827 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-08 03:34:57,827 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#false} ~i~1 := 0; {38#false} is VALID [2022-04-08 03:34:57,827 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 03:34:57,828 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 03:34:57,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-08 03:34:57,828 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-08 03:34:57,828 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-08 03:34:57,828 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 03:34:57,829 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:34:57,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [419994647] [2022-04-08 03:34:57,830 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [419994647] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:57,830 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:57,830 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 03:34:57,832 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:34:57,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [297706752] [2022-04-08 03:34:57,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [297706752] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:57,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:57,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 03:34:57,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [304430329] [2022-04-08 03:34:57,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:34:57,837 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 03:34:57,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:34:57,840 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 03:34:57,862 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 03:34:57,863 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 03:34:57,863 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:57,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 03:34:57,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 03:34:57,896 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 03:34:58,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:58,221 INFO L93 Difference]: Finished difference Result 77 states and 109 transitions. [2022-04-08 03:34:58,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 03:34:58,222 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 03:34:58,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:34:58,223 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 03:34:58,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-08 03:34:58,230 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 03:34:58,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-08 03:34:58,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 109 transitions. [2022-04-08 03:34:58,333 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 03:34:58,344 INFO L225 Difference]: With dead ends: 77 [2022-04-08 03:34:58,344 INFO L226 Difference]: Without dead ends: 43 [2022-04-08 03:34:58,347 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 03:34:58,351 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 03:34:58,352 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 03:34:58,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-08 03:34:58,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2022-04-08 03:34:58,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:34:58,388 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 03:34:58,389 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 03:34:58,389 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 03:34:58,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:58,401 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-08 03:34:58,401 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 03:34:58,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:58,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:58,404 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 03:34:58,407 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 03:34:58,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:58,415 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-08 03:34:58,415 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 03:34:58,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:58,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:58,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:34:58,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:34:58,416 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 03:34:58,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2022-04-08 03:34:58,419 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 18 [2022-04-08 03:34:58,419 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:34:58,419 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2022-04-08 03:34:58,419 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 03:34:58,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 33 transitions. [2022-04-08 03:34:58,482 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 03:34:58,483 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-08 03:34:58,483 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 03:34:58,483 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:34:58,484 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 03:34:58,484 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 03:34:58,484 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:34:58,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:34:58,485 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 1 times [2022-04-08 03:34:58,486 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:58,486 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [437852658] [2022-04-08 03:34:58,489 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 03:34:58,489 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 2 times [2022-04-08 03:34:58,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:34:58,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [437407150] [2022-04-08 03:34:58,490 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:34:58,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:34:58,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:58,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:34:58,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:58,602 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 03:34:58,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 03:34:58,603 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-08 03:34:58,616 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 03:34:58,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:58,623 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 03:34:58,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-08 03:34:58,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 03:34:58,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-08 03:34:58,625 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 03:34:58,625 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 03:34:58,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 03:34:58,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-08 03:34:58,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {351#true} call #t~ret10 := main(); {351#true} is VALID [2022-04-08 03:34:58,626 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 03:34:58,627 INFO L290 TraceCheckUtils]: 6: Hoare triple {356#(<= 4 main_~i~1)} assume !(~i~1 >= 0); {352#false} is VALID [2022-04-08 03:34:58,627 INFO L272 TraceCheckUtils]: 7: Hoare triple {352#false} call SelectionSort(); {362#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:34:58,627 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 03:34:58,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-08 03:34:58,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-08 03:34:58,628 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-08 03:34:58,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {352#false} ~i~1 := 0; {352#false} is VALID [2022-04-08 03:34:58,629 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 03:34:58,629 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 03:34:58,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {352#false} ~cond := #in~cond; {352#false} is VALID [2022-04-08 03:34:58,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {352#false} assume 0 == ~cond; {352#false} is VALID [2022-04-08 03:34:58,630 INFO L290 TraceCheckUtils]: 17: Hoare triple {352#false} assume !false; {352#false} is VALID [2022-04-08 03:34:58,630 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 03:34:58,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:34:58,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [437407150] [2022-04-08 03:34:58,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [437407150] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:58,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:58,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 03:34:58,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:34:58,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [437852658] [2022-04-08 03:34:58,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [437852658] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:58,632 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:58,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 03:34:58,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [426974420] [2022-04-08 03:34:58,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:34:58,633 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 03:34:58,634 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:34:58,634 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 03:34:58,648 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 03:34:58,648 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 03:34:58,649 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:58,650 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 03:34:58,650 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 03:34:58,650 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 03:34:58,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:58,928 INFO L93 Difference]: Finished difference Result 59 states and 70 transitions. [2022-04-08 03:34:58,929 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 03:34:58,929 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 03:34:58,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:34:58,930 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 03:34:58,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-08 03:34:58,936 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 03:34:58,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-08 03:34:58,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-08 03:34:59,014 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 03:34:59,015 INFO L225 Difference]: With dead ends: 59 [2022-04-08 03:34:59,015 INFO L226 Difference]: Without dead ends: 38 [2022-04-08 03:34:59,016 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-08 03:34:59,017 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 03:34:59,017 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 03:34:59,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-08 03:34:59,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 30. [2022-04-08 03:34:59,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:34:59,030 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 03:34:59,030 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 03:34:59,030 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 03:34:59,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,032 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-08 03:34:59,032 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-08 03:34:59,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:59,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:59,033 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 03:34:59,033 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 03:34:59,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,034 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-08 03:34:59,034 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-08 03:34:59,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:59,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:59,035 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:34:59,035 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:34:59,035 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 03:34:59,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2022-04-08 03:34:59,036 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 18 [2022-04-08 03:34:59,036 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:34:59,036 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2022-04-08 03:34:59,037 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 03:34:59,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 34 transitions. [2022-04-08 03:34:59,069 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 03:34:59,069 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2022-04-08 03:34:59,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-08 03:34:59,074 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:34:59,074 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 03:34:59,074 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 03:34:59,075 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:34:59,075 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:34:59,075 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 1 times [2022-04-08 03:34:59,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:59,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [571433813] [2022-04-08 03:34:59,093 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:34:59,094 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:34:59,094 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:34:59,094 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 2 times [2022-04-08 03:34:59,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:34:59,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1283743881] [2022-04-08 03:34:59,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:34:59,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:34:59,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:59,162 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:34:59,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:59,174 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 03:34:59,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 03:34:59,175 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-08 03:34:59,178 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 03:34:59,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:59,192 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 03:34:59,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-08 03:34:59,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 03:34:59,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-08 03:34:59,193 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 03:34:59,194 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 03:34:59,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 03:34:59,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-08 03:34:59,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {626#true} call #t~ret10 := main(); {626#true} is VALID [2022-04-08 03:34:59,194 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 03:34:59,195 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 03:34:59,195 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 03:34:59,196 INFO L290 TraceCheckUtils]: 8: Hoare triple {632#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {627#false} is VALID [2022-04-08 03:34:59,196 INFO L272 TraceCheckUtils]: 9: Hoare triple {627#false} call SelectionSort(); {638#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:34:59,196 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 03:34:59,196 INFO L290 TraceCheckUtils]: 11: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-08 03:34:59,197 INFO L290 TraceCheckUtils]: 12: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-08 03:34:59,197 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-08 03:34:59,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-08 03:34:59,197 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 03:34:59,197 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 03:34:59,197 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-08 03:34:59,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-08 03:34:59,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-08 03:34:59,198 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 03:34:59,198 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:34:59,198 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1283743881] [2022-04-08 03:34:59,198 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1283743881] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:34:59,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [289785326] [2022-04-08 03:34:59,199 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:34:59,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:34:59,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:34:59,200 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 03:34:59,201 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 03:34:59,253 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 03:34:59,253 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:34:59,255 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-08 03:34:59,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:59,266 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:34:59,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {626#true} is VALID [2022-04-08 03:34:59,436 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 03:34:59,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {645#(<= 5 ~n~0)} assume true; {645#(<= 5 ~n~0)} is VALID [2022-04-08 03:34:59,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {645#(<= 5 ~n~0)} {626#true} #95#return; {645#(<= 5 ~n~0)} is VALID [2022-04-08 03:34:59,441 INFO L272 TraceCheckUtils]: 4: Hoare triple {645#(<= 5 ~n~0)} call #t~ret10 := main(); {645#(<= 5 ~n~0)} is VALID [2022-04-08 03:34:59,442 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 03:34:59,442 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 03:34:59,442 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 03:34:59,443 INFO L290 TraceCheckUtils]: 8: Hoare triple {645#(<= 5 ~n~0)} assume !(~i~1 >= 0); {645#(<= 5 ~n~0)} is VALID [2022-04-08 03:34:59,443 INFO L272 TraceCheckUtils]: 9: Hoare triple {645#(<= 5 ~n~0)} call SelectionSort(); {645#(<= 5 ~n~0)} is VALID [2022-04-08 03:34:59,443 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 03:34:59,446 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 03:34:59,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {627#false} assume true; {627#false} is VALID [2022-04-08 03:34:59,446 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {627#false} {645#(<= 5 ~n~0)} #91#return; {627#false} is VALID [2022-04-08 03:34:59,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-08 03:34:59,446 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 03:34:59,446 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 03:34:59,447 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-08 03:34:59,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-08 03:34:59,447 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-08 03:34:59,447 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 03:34:59,448 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 03:34:59,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [289785326] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:59,448 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 03:34:59,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 8 [2022-04-08 03:34:59,448 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:34:59,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [571433813] [2022-04-08 03:34:59,449 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [571433813] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:59,449 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:59,449 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 03:34:59,449 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [664314980] [2022-04-08 03:34:59,449 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:34:59,449 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 03:34:59,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:34:59,450 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 03:34:59,465 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 03:34:59,466 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 03:34:59,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:59,466 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 03:34:59,466 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-08 03:34:59,467 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 03:34:59,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,569 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-08 03:34:59,569 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 03:34:59,569 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 03:34:59,569 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:34:59,569 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 03:34:59,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-08 03:34:59,571 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 03:34:59,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-08 03:34:59,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 55 transitions. [2022-04-08 03:34:59,605 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 03:34:59,606 INFO L225 Difference]: With dead ends: 49 [2022-04-08 03:34:59,606 INFO L226 Difference]: Without dead ends: 36 [2022-04-08 03:34:59,607 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 03:34:59,607 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 03:34:59,608 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 03:34:59,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-08 03:34:59,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 31. [2022-04-08 03:34:59,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:34:59,632 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 03:34:59,632 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 03:34:59,632 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 03:34:59,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,633 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-08 03:34:59,633 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-08 03:34:59,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:59,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:59,634 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 03:34:59,634 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 03:34:59,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,635 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-08 03:34:59,635 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-08 03:34:59,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:59,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:59,636 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:34:59,636 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:34:59,636 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 03:34:59,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2022-04-08 03:34:59,637 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 20 [2022-04-08 03:34:59,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:34:59,637 INFO L478 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2022-04-08 03:34:59,637 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 03:34:59,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 35 transitions. [2022-04-08 03:34:59,685 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 03:34:59,685 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2022-04-08 03:34:59,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-08 03:34:59,690 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:34:59,690 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 03:34:59,716 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 03:34:59,911 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 03:34:59,912 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:34:59,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:34:59,913 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 1 times [2022-04-08 03:34:59,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:59,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1640319743] [2022-04-08 03:34:59,916 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:34:59,916 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:34:59,916 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:34:59,916 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 2 times [2022-04-08 03:34:59,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:34:59,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117912036] [2022-04-08 03:34:59,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:34:59,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:34:59,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:59,990 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:34:59,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,010 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 03:35:00,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 03:35:00,011 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 03:35:00,014 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 03:35:00,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,026 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 03:35:00,027 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 03:35:00,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-08 03:35:00,027 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 03:35:00,027 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 03:35:00,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-08 03:35:00,027 INFO L290 TraceCheckUtils]: 6: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 03:35:00,027 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-08 03:35:00,030 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 03:35:00,030 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 03:35:00,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 03:35:00,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 03:35:00,030 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-08 03:35:00,031 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 03:35:00,031 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 03:35:00,033 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 03:35:00,033 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-08 03:35:00,034 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {948#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:00,034 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 03:35:00,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 03:35:00,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-08 03:35:00,034 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 03:35:00,034 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 03:35:00,034 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-08 03:35:00,034 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 03:35:00,034 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-08 03:35:00,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-08 03:35:00,035 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 03:35:00,035 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 03:35:00,035 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-08 03:35:00,035 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-08 03:35:00,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-08 03:35:00,035 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 03:35:00,035 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:00,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [117912036] [2022-04-08 03:35:00,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [117912036] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:00,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [459171911] [2022-04-08 03:35:00,036 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:00,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:00,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:00,048 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 03:35:00,050 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 03:35:00,093 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:00,094 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:00,094 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-08 03:35:00,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:00,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-08 03:35:00,176 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 03:35:00,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 03:35:00,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 03:35:00,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-08 03:35:00,177 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 03:35:00,177 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 03:35:00,178 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 03:35:00,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-08 03:35:00,178 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {933#false} is VALID [2022-04-08 03:35:00,179 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 03:35:00,179 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 03:35:00,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {933#false} assume !(~i~0 < ~n~0); {933#false} is VALID [2022-04-08 03:35:00,179 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 03:35:00,179 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 03:35:00,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#false} assume !(~lh~0 < ~n~0); {933#false} is VALID [2022-04-08 03:35:00,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {933#false} assume true; {933#false} is VALID [2022-04-08 03:35:00,179 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {933#false} {933#false} #91#return; {933#false} is VALID [2022-04-08 03:35:00,180 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-08 03:35:00,180 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 03:35:00,180 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 03:35:00,180 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-08 03:35:00,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-08 03:35:00,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-08 03:35:00,181 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 03:35:00,181 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:00,281 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-08 03:35:00,282 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-08 03:35:00,282 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-08 03:35:00,282 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 03:35:00,282 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 03:35:00,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-08 03:35:00,284 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-08 03:35:00,284 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 03:35:00,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-08 03:35:00,285 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 03:35:00,285 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 03:35:00,285 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-08 03:35:00,285 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 03:35:00,285 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 03:35:00,291 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {932#true} is VALID [2022-04-08 03:35:00,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {1066#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-08 03:35:00,293 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 03:35:00,293 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 03:35:00,294 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 03:35:00,294 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-08 03:35:00,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-08 03:35:00,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-08 03:35:00,294 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 03:35:00,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-08 03:35:00,295 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 03:35:00,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [459171911] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:00,295 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:00,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4, 4] total 8 [2022-04-08 03:35:00,296 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:00,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1640319743] [2022-04-08 03:35:00,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1640319743] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:00,296 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:00,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 03:35:00,296 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1770994419] [2022-04-08 03:35:00,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:00,297 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 03:35:00,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:00,297 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 03:35:00,311 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 03:35:00,312 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 03:35:00,312 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:00,313 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 03:35:00,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-04-08 03:35:00,313 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 03:35:00,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:00,562 INFO L93 Difference]: Finished difference Result 60 states and 70 transitions. [2022-04-08 03:35:00,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 03:35:00,562 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 03:35:00,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:00,562 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 03:35:00,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-08 03:35:00,564 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 03:35:00,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-08 03:35:00,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-04-08 03:35:00,613 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 03:35:00,614 INFO L225 Difference]: With dead ends: 60 [2022-04-08 03:35:00,614 INFO L226 Difference]: Without dead ends: 38 [2022-04-08 03:35:00,615 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 03:35:00,615 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 03:35:00,616 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 03:35:00,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-08 03:35:00,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 33. [2022-04-08 03:35:00,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:00,645 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 03:35:00,645 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 03:35:00,645 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 03:35:00,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:00,646 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-08 03:35:00,647 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 03:35:00,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:00,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:00,647 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 03:35:00,647 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 03:35:00,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:00,648 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-08 03:35:00,648 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 03:35:00,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:00,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:00,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:00,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:00,649 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 03:35:00,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-08 03:35:00,650 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 24 [2022-04-08 03:35:00,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:00,650 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-08 03:35:00,650 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 03:35:00,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-08 03:35:00,685 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 03:35:00,686 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-08 03:35:00,686 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-08 03:35:00,686 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:00,686 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 03:35:00,706 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 03:35:00,895 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 03:35:00,896 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:00,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:00,896 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 3 times [2022-04-08 03:35:00,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:00,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1833145017] [2022-04-08 03:35:00,900 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:00,900 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:00,900 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:00,900 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 4 times [2022-04-08 03:35:00,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:00,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1853277911] [2022-04-08 03:35:00,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:00,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:00,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,953 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:00,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,963 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 03:35:00,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:00,964 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:00,968 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:00,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,996 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 03:35:00,997 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 03:35:00,997 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 03:35:00,999 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 03:35:00,999 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 03:35:01,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-08 03:35:01,000 INFO L290 TraceCheckUtils]: 6: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-08 03:35:01,001 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-08 03:35:01,002 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 03:35:01,002 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 03:35:01,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:01,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:01,003 INFO L272 TraceCheckUtils]: 4: Hoare triple {1370#(<= 5 ~n~0)} call #t~ret10 := main(); {1370#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:01,004 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 03:35:01,004 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 03:35:01,004 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 03:35:01,005 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 03:35:01,008 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 03:35:01,008 INFO L290 TraceCheckUtils]: 10: Hoare triple {1370#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1370#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:01,008 INFO L272 TraceCheckUtils]: 11: Hoare triple {1370#(<= 5 ~n~0)} call SelectionSort(); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:01,009 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 03:35:01,009 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 03:35:01,010 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 03:35:01,010 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 03:35:01,011 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 03:35:01,011 INFO L290 TraceCheckUtils]: 17: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-08 03:35:01,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-08 03:35:01,012 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-08 03:35:01,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {1366#false} ~i~1 := 0; {1366#false} is VALID [2022-04-08 03:35:01,012 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 03:35:01,012 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 03:35:01,012 INFO L290 TraceCheckUtils]: 23: Hoare triple {1366#false} ~cond := #in~cond; {1366#false} is VALID [2022-04-08 03:35:01,012 INFO L290 TraceCheckUtils]: 24: Hoare triple {1366#false} assume 0 == ~cond; {1366#false} is VALID [2022-04-08 03:35:01,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-08 03:35:01,013 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 03:35:01,013 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:01,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1853277911] [2022-04-08 03:35:01,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1853277911] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:01,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1969993263] [2022-04-08 03:35:01,013 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:01,014 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:01,014 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:01,015 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 03:35:01,032 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 03:35:01,070 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:01,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:01,071 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 03:35:01,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:01,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:01,127 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 03:35:01,761 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-08 03:35:01,761 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 03:35:01,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-08 03:35:01,902 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 03:35:01,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-08 03:35:01,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-08 03:35:01,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-08 03:35:01,903 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 03:35:01,903 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 03:35:01,903 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 03:35:01,904 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 03:35:01,906 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 03:35:01,906 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 03:35:01,907 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 03:35:01,907 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 03:35:01,908 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 03:35:01,908 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 03:35:01,908 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 03:35:01,909 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 03:35:01,909 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 03:35:01,911 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 03:35:01,911 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 03:35:01,912 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 03:35:01,913 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 03:35:01,913 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 03:35:01,914 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 03:35:01,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-08 03:35:01,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-08 03:35:01,914 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 03:35:01,914 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:02,054 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-08 03:35:02,678 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-08 03:35:02,684 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-08 03:35:02,695 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 03:35:02,696 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 03:35:02,697 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 03:35:02,699 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 03:35:02,699 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 03:35:02,700 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 03:35:02,700 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 03:35:02,700 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 03:35:04,712 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 03:35:04,715 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 03:35:04,716 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 03:35:04,716 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 03:35:04,717 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 03:35:04,717 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 03:35:04,718 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 03:35:04,718 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 03:35:04,719 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 03:35:04,719 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 03:35:04,719 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 03:35:04,719 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-08 03:35:04,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-08 03:35:04,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-08 03:35:04,719 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 03:35:04,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-08 03:35:04,719 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 03:35:04,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1969993263] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:04,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:35:04,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [7, 12] total 24 [2022-04-08 03:35:04,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:04,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1833145017] [2022-04-08 03:35:04,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1833145017] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:04,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:04,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 03:35:04,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1516889532] [2022-04-08 03:35:04,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:04,721 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 03:35:04,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:04,721 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 03:35:06,754 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 03:35:06,754 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 03:35:06,754 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:06,755 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 03:35:06,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=476, Unknown=0, NotChecked=0, Total=552 [2022-04-08 03:35:06,755 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 03:35:07,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:07,157 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-08 03:35:07,157 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 03:35:07,157 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 03:35:07,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:07,158 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 03:35:07,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-08 03:35:07,159 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 03:35:07,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-08 03:35:07,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2022-04-08 03:35:09,241 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 03:35:09,242 INFO L225 Difference]: With dead ends: 58 [2022-04-08 03:35:09,242 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 03:35:09,243 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 03:35:09,243 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 03:35:09,243 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 03:35:09,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 03:35:09,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 46. [2022-04-08 03:35:09,296 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:09,296 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 03:35:09,297 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 03:35:09,297 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 03:35:09,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:09,299 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-08 03:35:09,299 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-08 03:35:09,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:09,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:09,300 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 03:35:09,300 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 03:35:09,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:09,302 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-08 03:35:09,302 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-08 03:35:09,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:09,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:09,302 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:09,302 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:09,302 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 03:35:09,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2022-04-08 03:35:09,304 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 52 transitions. Word has length 26 [2022-04-08 03:35:09,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:09,304 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 52 transitions. [2022-04-08 03:35:09,304 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 03:35:09,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 52 transitions. [2022-04-08 03:35:09,496 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 03:35:09,496 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-04-08 03:35:09,496 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 03:35:09,496 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:09,497 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 03:35:09,515 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 03:35:09,703 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 03:35:09,704 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:09,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:09,704 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 1 times [2022-04-08 03:35:09,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:09,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1290865957] [2022-04-08 03:35:09,707 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:09,707 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:09,707 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:09,708 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 2 times [2022-04-08 03:35:09,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:09,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [943137142] [2022-04-08 03:35:09,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:09,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:09,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:09,745 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:09,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:09,759 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 03:35:09,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:09,760 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:09,763 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:09,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:09,800 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 03:35:09,801 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 03:35:09,801 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 03:35:09,802 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 03:35:09,802 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 03:35:09,802 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 03:35:09,802 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 03:35:09,803 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 03:35:09,803 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 03:35:09,804 INFO L290 TraceCheckUtils]: 9: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-08 03:35:09,804 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 03:35:09,806 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 03:35:09,807 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 03:35:09,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:09,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:09,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:09,808 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 03:35:09,808 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 03:35:09,808 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 03:35:09,809 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 03:35:09,809 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 03:35:09,809 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:09,810 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1901#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:09,810 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 03:35:09,810 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 03:35:09,812 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 03:35:09,812 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 03:35:09,812 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 03:35:09,813 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 03:35:09,813 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 03:35:09,813 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 03:35:09,814 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 03:35:09,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-08 03:35:09,815 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 03:35:09,815 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-08 03:35:09,816 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 03:35:09,816 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 03:35:09,816 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-08 03:35:09,816 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-08 03:35:09,816 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-08 03:35:09,816 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 03:35:09,816 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:09,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [943137142] [2022-04-08 03:35:09,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [943137142] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:09,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [240101808] [2022-04-08 03:35:09,816 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:09,817 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:09,817 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:09,818 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 03:35:09,847 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 03:35:09,873 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:09,874 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:09,874 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:09,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:09,883 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:10,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-08 03:35:10,014 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 03:35:10,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:10,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:10,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:10,016 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 03:35:10,016 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 03:35:10,016 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 03:35:10,016 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 03:35:10,017 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 03:35:10,017 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:10,017 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1888#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:10,018 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 03:35:10,018 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 03:35:10,018 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 03:35:10,019 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 03:35:10,019 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 03:35:10,020 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 03:35:10,020 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 03:35:10,021 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 03:35:10,023 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 03:35:10,023 INFO L290 TraceCheckUtils]: 21: Hoare triple {1884#false} assume true; {1884#false} is VALID [2022-04-08 03:35:10,023 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1884#false} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 03:35:10,023 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-08 03:35:10,023 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 03:35:10,023 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 03:35:10,023 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-08 03:35:10,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-08 03:35:10,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-08 03:35:10,024 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 03:35:10,024 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:10,289 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-08 03:35:10,290 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-08 03:35:10,290 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-08 03:35:10,290 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 03:35:10,290 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 03:35:10,290 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-08 03:35:10,290 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {2012#(< 1 ~n~0)} #91#return; {1884#false} is VALID [2022-04-08 03:35:10,291 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-08 03:35:10,291 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 03:35:10,292 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 03:35:10,292 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 03:35:10,292 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 03:35:10,293 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 03:35:10,293 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 03:35:10,293 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 03:35:10,294 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 03:35:10,294 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 03:35:10,294 INFO L272 TraceCheckUtils]: 11: Hoare triple {2012#(< 1 ~n~0)} call SelectionSort(); {1883#true} is VALID [2022-04-08 03:35:10,295 INFO L290 TraceCheckUtils]: 10: Hoare triple {2012#(< 1 ~n~0)} assume !(~i~1 >= 0); {2012#(< 1 ~n~0)} is VALID [2022-04-08 03:35:10,295 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 03:35:10,295 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 03:35:10,296 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 03:35:10,296 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 03:35:10,296 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 03:35:10,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {2012#(< 1 ~n~0)} call #t~ret10 := main(); {2012#(< 1 ~n~0)} is VALID [2022-04-08 03:35:10,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2012#(< 1 ~n~0)} {1883#true} #95#return; {2012#(< 1 ~n~0)} is VALID [2022-04-08 03:35:10,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {2012#(< 1 ~n~0)} assume true; {2012#(< 1 ~n~0)} is VALID [2022-04-08 03:35:10,298 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 03:35:10,298 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-08 03:35:10,299 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 03:35:10,299 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [240101808] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:10,299 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:10,299 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 6] total 13 [2022-04-08 03:35:10,299 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:10,299 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1290865957] [2022-04-08 03:35:10,299 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1290865957] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:10,299 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:10,299 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 03:35:10,299 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2120157960] [2022-04-08 03:35:10,300 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:10,300 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 03:35:10,300 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:10,300 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 03:35:10,320 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 03:35:10,321 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 03:35:10,321 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:10,321 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 03:35:10,321 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2022-04-08 03:35:10,321 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 03:35:10,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:10,714 INFO L93 Difference]: Finished difference Result 86 states and 100 transitions. [2022-04-08 03:35:10,714 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 03:35:10,714 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 03:35:10,714 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:10,715 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 03:35:10,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-08 03:35:10,716 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 03:35:10,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-08 03:35:10,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 64 transitions. [2022-04-08 03:35:10,769 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 03:35:10,770 INFO L225 Difference]: With dead ends: 86 [2022-04-08 03:35:10,771 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 03:35:10,771 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 03:35:10,772 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 03:35:10,772 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 03:35:10,772 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 03:35:10,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 56. [2022-04-08 03:35:10,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:10,823 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 03:35:10,823 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 03:35:10,823 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 03:35:10,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:10,825 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-08 03:35:10,825 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-08 03:35:10,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:10,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:10,826 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 03:35:10,826 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 03:35:10,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:10,827 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-08 03:35:10,827 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-08 03:35:10,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:10,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:10,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:10,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:10,828 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 03:35:10,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 65 transitions. [2022-04-08 03:35:10,829 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 65 transitions. Word has length 29 [2022-04-08 03:35:10,829 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:10,829 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 65 transitions. [2022-04-08 03:35:10,830 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 03:35:10,830 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 65 transitions. [2022-04-08 03:35:14,961 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 03:35:14,962 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2022-04-08 03:35:14,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 03:35:14,962 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:14,963 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 03:35:14,983 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 03:35:15,167 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 03:35:15,168 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:15,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:15,168 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 3 times [2022-04-08 03:35:15,169 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:15,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1105830641] [2022-04-08 03:35:15,181 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:15,181 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:15,181 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:15,181 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 4 times [2022-04-08 03:35:15,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:15,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1553374570] [2022-04-08 03:35:15,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:15,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:15,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:15,230 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:15,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:15,237 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 03:35:15,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:15,238 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:15,241 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:15,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:15,276 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 03:35:15,278 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 03:35:15,279 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 03:35:15,279 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 03:35:15,280 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 03:35:15,280 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 03:35:15,280 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 03:35:15,281 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 03:35:15,281 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 03:35:15,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 03:35:15,282 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 03:35:15,282 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 03:35:15,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 03:35:15,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-08 03:35:15,283 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-08 03:35:15,284 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 03:35:15,284 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 03:35:15,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:15,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:15,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {2514#(<= 5 ~n~0)} call #t~ret10 := main(); {2514#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:15,286 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 03:35:15,286 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 03:35:15,286 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 03:35:15,287 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 03:35:15,287 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 03:35:15,287 INFO L290 TraceCheckUtils]: 10: Hoare triple {2514#(<= 5 ~n~0)} assume !(~i~1 >= 0); {2514#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:15,288 INFO L272 TraceCheckUtils]: 11: Hoare triple {2514#(<= 5 ~n~0)} call SelectionSort(); {2531#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:15,288 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 03:35:15,288 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 03:35:15,289 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 03:35:15,289 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 03:35:15,289 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 03:35:15,290 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 03:35:15,290 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 03:35:15,290 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 03:35:15,291 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 03:35:15,291 INFO L290 TraceCheckUtils]: 21: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 03:35:15,291 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 03:35:15,291 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 03:35:15,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-08 03:35:15,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-08 03:35:15,292 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-08 03:35:15,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-08 03:35:15,293 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 03:35:15,293 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 03:35:15,293 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-08 03:35:15,293 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-08 03:35:15,293 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-08 03:35:15,294 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 03:35:15,294 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:15,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1553374570] [2022-04-08 03:35:15,294 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1553374570] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:15,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1629868976] [2022-04-08 03:35:15,294 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:15,294 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:15,294 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:15,295 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 03:35:15,296 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 03:35:15,343 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:15,344 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:15,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:15,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:15,353 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:15,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {2509#true} call ULTIMATE.init(); {2509#true} is VALID [2022-04-08 03:35:15,456 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 03:35:15,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {2509#true} assume true; {2509#true} is VALID [2022-04-08 03:35:15,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2509#true} {2509#true} #95#return; {2509#true} is VALID [2022-04-08 03:35:15,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {2509#true} call #t~ret10 := main(); {2509#true} is VALID [2022-04-08 03:35:15,456 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 03:35:15,456 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 03:35:15,456 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 03:35:15,456 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 03:35:15,456 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 03:35:15,457 INFO L290 TraceCheckUtils]: 10: Hoare triple {2509#true} assume !(~i~1 >= 0); {2509#true} is VALID [2022-04-08 03:35:15,457 INFO L272 TraceCheckUtils]: 11: Hoare triple {2509#true} call SelectionSort(); {2509#true} is VALID [2022-04-08 03:35:15,457 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 03:35:15,457 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 03:35:15,458 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 03:35:15,458 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 03:35:15,458 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 03:35:15,459 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 03:35:15,459 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 03:35:15,459 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 03:35:15,459 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 03:35:15,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {2510#false} assume !(~i~0 < ~n~0); {2510#false} is VALID [2022-04-08 03:35:15,459 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 03:35:15,459 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 03:35:15,459 INFO L290 TraceCheckUtils]: 24: Hoare triple {2510#false} assume !(~lh~0 < ~n~0); {2510#false} is VALID [2022-04-08 03:35:15,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {2510#false} assume true; {2510#false} is VALID [2022-04-08 03:35:15,459 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2510#false} {2509#true} #91#return; {2510#false} is VALID [2022-04-08 03:35:15,459 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-08 03:35:15,460 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 03:35:15,460 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 03:35:15,460 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-08 03:35:15,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-08 03:35:15,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-08 03:35:15,460 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 03:35:15,460 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 03:35:15,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1629868976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:15,460 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 03:35:15,460 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 11 [2022-04-08 03:35:15,461 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:15,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1105830641] [2022-04-08 03:35:15,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1105830641] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:15,461 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:15,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 03:35:15,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [696205121] [2022-04-08 03:35:15,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:15,461 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 03:35:15,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:15,461 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 03:35:15,480 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 03:35:15,480 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 03:35:15,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:15,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 03:35:15,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=90, Unknown=0, NotChecked=0, Total=110 [2022-04-08 03:35:15,480 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 03:35:15,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:15,646 INFO L93 Difference]: Finished difference Result 85 states and 101 transitions. [2022-04-08 03:35:15,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 03:35:15,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 03:35:15,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:15,647 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 03:35:15,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-08 03:35:15,648 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 03:35:15,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-08 03:35:15,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-04-08 03:35:15,694 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 03:35:15,695 INFO L225 Difference]: With dead ends: 85 [2022-04-08 03:35:15,695 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 03:35:15,696 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 03:35:15,698 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 03:35:15,698 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 03:35:15,698 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 03:35:15,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-04-08 03:35:15,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:15,750 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 03:35:15,750 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 03:35:15,750 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 03:35:15,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:15,751 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 03:35:15,751 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 03:35:15,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:15,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:15,752 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 03:35:15,752 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 03:35:15,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:15,753 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 03:35:15,753 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 03:35:15,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:15,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:15,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:15,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:15,754 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 03:35:15,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-08 03:35:15,755 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 33 [2022-04-08 03:35:15,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:15,755 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-08 03:35:15,755 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 03:35:15,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 51 transitions. [2022-04-08 03:35:15,830 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 03:35:15,830 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-08 03:35:15,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 03:35:15,830 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:15,831 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 03:35:15,850 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 03:35:16,032 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 03:35:16,032 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:16,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:16,032 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 5 times [2022-04-08 03:35:16,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:16,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1300604606] [2022-04-08 03:35:16,035 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:16,036 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:16,036 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:16,036 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 6 times [2022-04-08 03:35:16,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:16,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55363394] [2022-04-08 03:35:16,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:16,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:16,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:16,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:16,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:16,084 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 03:35:16,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,085 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,087 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:16,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:16,124 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 03:35:16,124 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 03:35:16,125 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 03:35:16,125 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 03:35:16,125 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 03:35:16,125 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 03:35:16,126 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 03:35:16,126 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 03:35:16,127 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 03:35:16,127 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 03:35:16,127 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 03:35:16,128 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 03:35:16,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 03:35:16,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-08 03:35:16,129 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 03:35:16,130 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 03:35:16,130 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 03:35:16,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,132 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 03:35:16,132 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 03:35:16,132 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 03:35:16,132 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 03:35:16,133 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 03:35:16,133 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,133 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3020#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:16,134 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 03:35:16,134 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 03:35:16,134 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 03:35:16,135 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 03:35:16,135 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 03:35:16,135 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 03:35:16,136 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 03:35:16,136 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 03:35:16,137 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 03:35:16,137 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 03:35:16,137 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 03:35:16,137 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 03:35:16,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 03:35:16,138 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-08 03:35:16,139 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 03:35:16,139 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-08 03:35:16,139 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 03:35:16,139 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 03:35:16,139 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-08 03:35:16,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-08 03:35:16,139 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-08 03:35:16,139 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 03:35:16,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:16,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [55363394] [2022-04-08 03:35:16,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [55363394] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:16,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1005963153] [2022-04-08 03:35:16,140 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:16,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:16,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:16,141 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 03:35:16,142 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 03:35:16,190 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 03:35:16,191 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:16,191 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 03:35:16,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:16,210 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:16,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-08 03:35:16,393 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 03:35:16,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,394 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 03:35:16,395 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 03:35:16,395 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 03:35:16,395 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 03:35:16,409 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 03:35:16,409 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,410 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3003#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:16,410 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 03:35:16,411 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 03:35:16,411 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 03:35:16,411 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 03:35:16,412 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 03:35:16,412 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 03:35:16,413 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 03:35:16,413 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 03:35:16,414 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 03:35:16,414 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 03:35:16,414 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 03:35:16,414 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 03:35:16,414 INFO L290 TraceCheckUtils]: 24: Hoare triple {2999#false} assume !(~lh~0 < ~n~0); {2999#false} is VALID [2022-04-08 03:35:16,414 INFO L290 TraceCheckUtils]: 25: Hoare triple {2999#false} assume true; {2999#false} is VALID [2022-04-08 03:35:16,415 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2999#false} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 03:35:16,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-08 03:35:16,415 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 03:35:16,415 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 03:35:16,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-08 03:35:16,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-08 03:35:16,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-08 03:35:16,415 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 03:35:16,415 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:16,729 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-08 03:35:16,729 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-08 03:35:16,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-08 03:35:16,729 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 03:35:16,729 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 03:35:16,729 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-08 03:35:16,730 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3145#(< 2 ~n~0)} #91#return; {2999#false} is VALID [2022-04-08 03:35:16,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-08 03:35:16,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-08 03:35:16,731 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 03:35:16,731 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 03:35:16,731 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 03:35:16,732 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 03:35:16,732 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 03:35:16,733 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 03:35:16,733 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 03:35:16,733 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 03:35:16,734 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 03:35:16,734 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 03:35:16,735 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 03:35:16,735 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 03:35:16,735 INFO L272 TraceCheckUtils]: 11: Hoare triple {3145#(< 2 ~n~0)} call SelectionSort(); {2998#true} is VALID [2022-04-08 03:35:16,735 INFO L290 TraceCheckUtils]: 10: Hoare triple {3145#(< 2 ~n~0)} assume !(~i~1 >= 0); {3145#(< 2 ~n~0)} is VALID [2022-04-08 03:35:16,736 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 03:35:16,736 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 03:35:16,736 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 03:35:16,736 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 03:35:16,737 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 03:35:16,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {3145#(< 2 ~n~0)} call #t~ret10 := main(); {3145#(< 2 ~n~0)} is VALID [2022-04-08 03:35:16,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3145#(< 2 ~n~0)} {2998#true} #95#return; {3145#(< 2 ~n~0)} is VALID [2022-04-08 03:35:16,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {3145#(< 2 ~n~0)} assume true; {3145#(< 2 ~n~0)} is VALID [2022-04-08 03:35:16,738 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 03:35:16,738 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-08 03:35:16,738 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 03:35:16,739 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1005963153] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:16,739 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:16,739 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-08 03:35:16,739 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:16,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1300604606] [2022-04-08 03:35:16,739 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1300604606] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:16,739 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:16,739 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 03:35:16,739 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [145463938] [2022-04-08 03:35:16,739 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:16,740 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 03:35:16,740 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:16,740 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 03:35:16,762 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 03:35:16,762 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 03:35:16,762 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:16,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 03:35:16,763 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 03:35:16,763 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 03:35:17,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:17,272 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2022-04-08 03:35:17,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 03:35:17,273 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 03:35:17,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:17,273 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 03:35:17,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-08 03:35:17,275 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 03:35:17,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-08 03:35:17,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-08 03:35:17,339 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 03:35:17,340 INFO L225 Difference]: With dead ends: 70 [2022-04-08 03:35:17,340 INFO L226 Difference]: Without dead ends: 54 [2022-04-08 03:35:17,340 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 03:35:17,341 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 03:35:17,341 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 03:35:17,341 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-08 03:35:17,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 45. [2022-04-08 03:35:17,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:17,402 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 03:35:17,402 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 03:35:17,402 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 03:35:17,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:17,404 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-08 03:35:17,404 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-08 03:35:17,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:17,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:17,405 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 03:35:17,405 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 03:35:17,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:17,409 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-08 03:35:17,409 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-08 03:35:17,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:17,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:17,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:17,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:17,410 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 03:35:17,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2022-04-08 03:35:17,411 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 33 [2022-04-08 03:35:17,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:17,411 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2022-04-08 03:35:17,411 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 03:35:17,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 52 transitions. [2022-04-08 03:35:17,468 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 03:35:17,468 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-04-08 03:35:17,469 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 03:35:17,469 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:17,469 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 03:35:17,485 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 03:35:17,669 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 03:35:17,670 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:17,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:17,670 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 7 times [2022-04-08 03:35:17,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:17,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2135046918] [2022-04-08 03:35:17,672 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:17,672 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:17,673 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:17,673 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 8 times [2022-04-08 03:35:17,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:17,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631668594] [2022-04-08 03:35:17,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:17,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:17,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:17,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:17,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:17,716 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 03:35:17,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:17,717 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:17,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:17,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:17,751 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 03:35:17,752 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 03:35:17,752 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 03:35:17,753 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 03:35:17,753 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 03:35:17,753 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 03:35:17,754 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 03:35:17,754 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 03:35:17,754 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 03:35:17,754 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 03:35:17,755 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 03:35:17,755 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 03:35:17,755 INFO L290 TraceCheckUtils]: 12: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 03:35:17,755 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 03:35:17,756 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 03:35:17,756 INFO L290 TraceCheckUtils]: 15: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 03:35:17,756 INFO L290 TraceCheckUtils]: 16: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-08 03:35:17,757 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-08 03:35:17,757 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 03:35:17,758 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 03:35:17,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:17,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:17,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {3590#(<= 5 ~n~0)} call #t~ret10 := main(); {3590#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:17,759 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 03:35:17,759 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 03:35:17,759 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 03:35:17,760 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 03:35:17,760 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 03:35:17,760 INFO L290 TraceCheckUtils]: 10: Hoare triple {3590#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3590#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:17,761 INFO L272 TraceCheckUtils]: 11: Hoare triple {3590#(<= 5 ~n~0)} call SelectionSort(); {3610#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:17,761 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 03:35:17,761 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 03:35:17,761 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 03:35:17,762 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 03:35:17,762 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 03:35:17,762 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 03:35:17,763 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 03:35:17,763 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 03:35:17,763 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 03:35:17,763 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 03:35:17,764 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 03:35:17,764 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 03:35:17,764 INFO L290 TraceCheckUtils]: 24: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 03:35:17,764 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 03:35:17,765 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 03:35:17,765 INFO L290 TraceCheckUtils]: 27: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-08 03:35:17,765 INFO L290 TraceCheckUtils]: 28: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-08 03:35:17,766 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-08 03:35:17,766 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-08 03:35:17,766 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 03:35:17,766 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 03:35:17,766 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-08 03:35:17,766 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-08 03:35:17,766 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-08 03:35:17,766 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 03:35:17,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:17,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631668594] [2022-04-08 03:35:17,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1631668594] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:17,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [345196167] [2022-04-08 03:35:17,767 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:17,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:17,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:17,767 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 03:35:17,768 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 03:35:17,815 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:17,815 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:17,816 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:17,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:17,825 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:17,926 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-08 03:35:17,927 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 03:35:17,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-08 03:35:17,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-08 03:35:17,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-08 03:35:17,927 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 03:35:17,927 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 03:35:17,928 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 03:35:17,928 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 03:35:17,929 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 03:35:17,929 INFO L290 TraceCheckUtils]: 10: Hoare triple {3647#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-08 03:35:17,929 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3586#false} is VALID [2022-04-08 03:35:17,929 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 03:35:17,929 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 03:35:17,940 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 03:35:17,940 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 03:35:17,940 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 03:35:17,940 INFO L290 TraceCheckUtils]: 17: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-08 03:35:17,940 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 03:35:17,940 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 03:35:17,940 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 03:35:17,940 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 03:35:17,940 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 03:35:17,940 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 03:35:17,941 INFO L290 TraceCheckUtils]: 24: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-08 03:35:17,941 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 03:35:17,941 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 03:35:17,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {3586#false} assume !(~lh~0 < ~n~0); {3586#false} is VALID [2022-04-08 03:35:17,941 INFO L290 TraceCheckUtils]: 28: Hoare triple {3586#false} assume true; {3586#false} is VALID [2022-04-08 03:35:17,941 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3586#false} {3586#false} #91#return; {3586#false} is VALID [2022-04-08 03:35:17,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-08 03:35:17,941 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 03:35:17,941 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 03:35:17,941 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-08 03:35:17,941 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-08 03:35:17,941 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-08 03:35:17,942 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 03:35:17,942 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:18,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-08 03:35:18,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-08 03:35:18,039 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-08 03:35:18,039 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 03:35:18,039 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 03:35:18,039 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-08 03:35:18,039 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3585#true} {3586#false} #91#return; {3586#false} is VALID [2022-04-08 03:35:18,039 INFO L290 TraceCheckUtils]: 28: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-08 03:35:18,039 INFO L290 TraceCheckUtils]: 27: Hoare triple {3585#true} assume !(~lh~0 < ~n~0); {3585#true} is VALID [2022-04-08 03:35:18,039 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 03:35:18,039 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 03:35:18,039 INFO L290 TraceCheckUtils]: 24: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-08 03:35:18,039 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 03:35:18,039 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 03:35:18,040 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 03:35:18,040 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 03:35:18,040 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 03:35:18,040 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 03:35:18,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-08 03:35:18,040 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 03:35:18,040 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 03:35:18,040 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 03:35:18,040 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 03:35:18,040 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 03:35:18,040 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3585#true} is VALID [2022-04-08 03:35:18,041 INFO L290 TraceCheckUtils]: 10: Hoare triple {3801#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-08 03:35:18,041 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 03:35:18,042 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 03:35:18,042 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 03:35:18,042 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 03:35:18,043 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 03:35:18,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-08 03:35:18,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-08 03:35:18,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-08 03:35:18,043 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 03:35:18,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-08 03:35:18,043 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 03:35:18,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [345196167] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:18,043 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:18,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5, 5] total 14 [2022-04-08 03:35:18,044 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:18,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2135046918] [2022-04-08 03:35:18,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2135046918] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:18,044 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:18,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 03:35:18,044 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2103118138] [2022-04-08 03:35:18,044 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:18,044 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 03:35:18,045 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:18,045 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 03:35:18,067 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 03:35:18,068 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 03:35:18,068 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:18,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 03:35:18,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-08 03:35:18,068 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 03:35:18,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:18,498 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-08 03:35:18,498 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 03:35:18,499 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 03:35:18,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:18,499 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 03:35:18,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-08 03:35:18,501 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 03:35:18,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-08 03:35:18,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2022-04-08 03:35:18,560 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 03:35:18,562 INFO L225 Difference]: With dead ends: 77 [2022-04-08 03:35:18,562 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 03:35:18,563 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 03:35:18,564 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 03:35:18,565 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 03:35:18,565 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 03:35:18,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 48. [2022-04-08 03:35:18,624 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:18,624 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 03:35:18,624 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 03:35:18,624 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 03:35:18,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:18,625 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 03:35:18,625 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 03:35:18,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:18,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:18,626 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 03:35:18,626 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 03:35:18,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:18,627 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-08 03:35:18,628 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-08 03:35:18,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:18,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:18,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:18,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:18,628 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 03:35:18,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 56 transitions. [2022-04-08 03:35:18,629 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 56 transitions. Word has length 36 [2022-04-08 03:35:18,629 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:18,630 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 56 transitions. [2022-04-08 03:35:18,630 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 03:35:18,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 56 transitions. [2022-04-08 03:35:18,691 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 03:35:18,692 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-04-08 03:35:18,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 03:35:18,692 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:18,692 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 03:35:18,708 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-08 03:35:18,903 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 03:35:18,905 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:18,906 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:18,906 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 9 times [2022-04-08 03:35:18,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:18,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1628511661] [2022-04-08 03:35:18,909 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:18,910 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:18,910 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:18,910 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 10 times [2022-04-08 03:35:18,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:18,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [509246541] [2022-04-08 03:35:18,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:18,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:18,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:18,944 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:18,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:18,955 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 03:35:18,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:18,955 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:18,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:18,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:19,004 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 03:35:19,004 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 03:35:19,005 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 03:35:19,005 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 03:35:19,005 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 03:35:19,006 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 03:35:19,006 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 03:35:19,007 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 03:35:19,007 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 03:35:19,007 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 03:35:19,008 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 03:35:19,008 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 03:35:19,008 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 03:35:19,008 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 03:35:19,009 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 03:35:19,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 03:35:19,009 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 03:35:19,010 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 03:35:19,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 03:35:19,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-08 03:35:19,011 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-08 03:35:19,011 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 03:35:19,012 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 03:35:19,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:19,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:19,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {4206#(<= 5 ~n~0)} call #t~ret10 := main(); {4206#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:19,013 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 03:35:19,014 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 03:35:19,014 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 03:35:19,014 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 03:35:19,015 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 03:35:19,015 INFO L290 TraceCheckUtils]: 10: Hoare triple {4206#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4206#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:19,015 INFO L272 TraceCheckUtils]: 11: Hoare triple {4206#(<= 5 ~n~0)} call SelectionSort(); {4229#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:19,016 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 03:35:19,016 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 03:35:19,017 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 03:35:19,017 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 03:35:19,017 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 03:35:19,018 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 03:35:19,018 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 03:35:19,018 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 03:35:19,019 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 03:35:19,019 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 03:35:19,019 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 03:35:19,020 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 03:35:19,020 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 03:35:19,020 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 03:35:19,020 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 03:35:19,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 03:35:19,021 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 03:35:19,021 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 03:35:19,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-08 03:35:19,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-08 03:35:19,022 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-08 03:35:19,022 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-08 03:35:19,023 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 03:35:19,023 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 03:35:19,023 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-08 03:35:19,023 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-08 03:35:19,023 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-08 03:35:19,023 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 03:35:19,023 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:19,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [509246541] [2022-04-08 03:35:19,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [509246541] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:19,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [689582437] [2022-04-08 03:35:19,024 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:19,024 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:19,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:19,025 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 03:35:19,026 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 03:35:19,069 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:19,070 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:19,070 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 03:35:19,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:19,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:19,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-08 03:35:19,254 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 03:35:19,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-08 03:35:19,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-08 03:35:19,254 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-08 03:35:19,254 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 03:35:19,254 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 03:35:19,254 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 03:35:19,254 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 03:35:19,254 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 03:35:19,255 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-08 03:35:19,255 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-08 03:35:19,255 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 03:35:19,255 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 03:35:19,255 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 03:35:19,256 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 03:35:19,256 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 03:35:19,257 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 03:35:19,257 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 03:35:19,257 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 03:35:19,258 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 03:35:19,258 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 03:35:19,258 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 03:35:19,259 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 03:35:19,259 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 03:35:19,259 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 03:35:19,260 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 03:35:19,260 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 03:35:19,260 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 03:35:19,261 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 03:35:19,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-08 03:35:19,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-08 03:35:19,261 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-08 03:35:19,261 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-08 03:35:19,261 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 03:35:19,261 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 03:35:19,262 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-08 03:35:19,262 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-08 03:35:19,262 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-08 03:35:19,262 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 03:35:19,262 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:19,406 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-08 03:35:19,407 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-08 03:35:19,407 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-08 03:35:19,407 INFO L272 TraceCheckUtils]: 35: Hoare triple {4202#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4202#false} is VALID [2022-04-08 03:35:19,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {4202#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4202#false} is VALID [2022-04-08 03:35:19,407 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-08 03:35:19,407 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-08 03:35:19,438 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-08 03:35:19,439 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-08 03:35:19,440 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 03:35:19,440 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 03:35:19,440 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 03:35:19,441 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 03:35:19,441 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 03:35:19,441 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 03:35:19,441 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 03:35:19,442 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 03:35:19,442 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 03:35:19,442 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 03:35:19,444 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 03:35:19,445 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 03:35:19,445 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 03:35:19,446 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 03:35:19,446 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 03:35:19,446 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 03:35:19,447 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 03:35:19,447 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 03:35:19,447 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-08 03:35:19,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-08 03:35:19,447 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 03:35:19,447 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 03:35:19,447 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 03:35:19,447 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 03:35:19,447 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 03:35:19,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-08 03:35:19,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-08 03:35:19,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-08 03:35:19,448 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 03:35:19,448 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-08 03:35:19,448 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 03:35:19,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [689582437] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:19,448 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:19,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 15 [2022-04-08 03:35:19,448 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:19,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1628511661] [2022-04-08 03:35:19,449 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1628511661] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:19,449 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:19,449 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 03:35:19,449 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1289970720] [2022-04-08 03:35:19,449 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:19,449 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 03:35:19,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:19,449 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 03:35:19,476 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 03:35:19,476 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 03:35:19,476 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:19,476 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 03:35:19,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=176, Unknown=0, NotChecked=0, Total=210 [2022-04-08 03:35:19,477 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 03:35:20,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:20,040 INFO L93 Difference]: Finished difference Result 80 states and 95 transitions. [2022-04-08 03:35:20,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 03:35:20,040 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 03:35:20,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:20,040 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 03:35:20,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-08 03:35:20,041 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 03:35:20,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-08 03:35:20,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 77 transitions. [2022-04-08 03:35:20,109 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 03:35:20,110 INFO L225 Difference]: With dead ends: 80 [2022-04-08 03:35:20,110 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 03:35:20,111 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 03:35:20,111 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 03:35:20,111 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 03:35:20,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 03:35:20,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2022-04-08 03:35:20,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:20,196 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 03:35:20,196 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 03:35:20,196 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 03:35:20,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:20,198 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-08 03:35:20,198 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-08 03:35:20,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:20,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:20,198 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 03:35:20,198 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 03:35:20,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:20,199 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-08 03:35:20,199 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-08 03:35:20,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:20,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:20,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:20,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:20,199 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 03:35:20,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 60 transitions. [2022-04-08 03:35:20,201 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 60 transitions. Word has length 39 [2022-04-08 03:35:20,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:20,201 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 60 transitions. [2022-04-08 03:35:20,201 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 03:35:20,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 60 transitions. [2022-04-08 03:35:20,269 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 03:35:20,269 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 60 transitions. [2022-04-08 03:35:20,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 03:35:20,270 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:20,270 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 03:35:20,289 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 03:35:20,483 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 03:35:20,483 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:20,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:20,484 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 11 times [2022-04-08 03:35:20,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:20,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [328372215] [2022-04-08 03:35:20,486 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:20,486 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:20,486 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:20,487 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 12 times [2022-04-08 03:35:20,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:20,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1618846207] [2022-04-08 03:35:20,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:20,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:20,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:20,533 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:20,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:20,539 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 03:35:20,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,540 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:20,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:20,592 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 03:35:20,593 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 03:35:20,593 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 03:35:20,593 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 03:35:20,594 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 03:35:20,595 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 03:35:20,595 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 03:35:20,599 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 03:35:20,599 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 03:35:20,599 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 03:35:20,600 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 03:35:20,600 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 03:35:20,600 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 03:35:20,601 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 03:35:20,601 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 03:35:20,601 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 03:35:20,601 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 03:35:20,602 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 03:35:20,602 INFO L290 TraceCheckUtils]: 18: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 03:35:20,602 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 03:35:20,602 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 03:35:20,603 INFO L290 TraceCheckUtils]: 21: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 03:35:20,603 INFO L290 TraceCheckUtils]: 22: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-08 03:35:20,604 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 03:35:20,604 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 03:35:20,605 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 03:35:20,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,606 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 03:35:20,606 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 03:35:20,607 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 03:35:20,607 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 03:35:20,607 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 03:35:20,608 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,608 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4890#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:20,608 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 03:35:20,609 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 03:35:20,609 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 03:35:20,609 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 03:35:20,609 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 03:35:20,610 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 03:35:20,610 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 03:35:20,610 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 03:35:20,611 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 03:35:20,611 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 03:35:20,611 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 03:35:20,612 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 03:35:20,612 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 03:35:20,612 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 03:35:20,612 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 03:35:20,613 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 03:35:20,613 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 03:35:20,613 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 03:35:20,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 03:35:20,614 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 03:35:20,614 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 03:35:20,614 INFO L290 TraceCheckUtils]: 33: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-08 03:35:20,614 INFO L290 TraceCheckUtils]: 34: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-08 03:35:20,615 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 03:35:20,615 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-08 03:35:20,615 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 03:35:20,615 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 03:35:20,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-08 03:35:20,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-08 03:35:20,615 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-08 03:35:20,615 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 03:35:20,616 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:20,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1618846207] [2022-04-08 03:35:20,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1618846207] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:20,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1227056139] [2022-04-08 03:35:20,616 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:20,616 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:20,616 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:20,617 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 03:35:20,618 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 03:35:20,680 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 03:35:20,680 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:20,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 03:35:20,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:20,690 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:20,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-08 03:35:20,914 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 03:35:20,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,914 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,915 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 03:35:20,915 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 03:35:20,915 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 03:35:20,916 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 03:35:20,916 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 03:35:20,916 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,917 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4864#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:20,917 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 03:35:20,917 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 03:35:20,918 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 03:35:20,918 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 03:35:20,918 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 03:35:20,919 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 03:35:20,919 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 03:35:20,919 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 03:35:20,920 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 03:35:20,920 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 03:35:20,920 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 03:35:20,921 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 03:35:20,925 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 03:35:20,937 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 03:35:20,937 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 03:35:20,938 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 03:35:20,938 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 03:35:20,938 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 03:35:20,939 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 03:35:20,939 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 03:35:20,940 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 03:35:20,940 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 03:35:20,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {4860#false} assume true; {4860#false} is VALID [2022-04-08 03:35:20,940 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4860#false} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 03:35:20,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-08 03:35:20,940 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 03:35:20,940 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 03:35:20,940 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-08 03:35:20,941 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-08 03:35:20,941 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-08 03:35:20,941 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 03:35:20,941 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:21,314 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-08 03:35:21,315 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-08 03:35:21,315 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-08 03:35:21,315 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 03:35:21,315 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 03:35:21,315 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-08 03:35:21,315 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5048#(not (< 2 ~n~0))} {5044#(< 2 ~n~0)} #91#return; {4860#false} is VALID [2022-04-08 03:35:21,316 INFO L290 TraceCheckUtils]: 34: Hoare triple {5048#(not (< 2 ~n~0))} assume true; {5048#(not (< 2 ~n~0))} is VALID [2022-04-08 03:35:21,316 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 03:35:21,316 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 03:35:21,317 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 03:35:21,318 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 03:35:21,318 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 03:35:21,319 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 03:35:21,319 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 03:35:21,319 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 03:35:21,320 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 03:35:21,320 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 03:35:21,321 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 03:35:21,321 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 03:35:21,321 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 03:35:21,321 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 03:35:21,322 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 03:35:21,322 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 03:35:21,322 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 03:35:21,323 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 03:35:21,323 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 03:35:21,325 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 03:35:21,325 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 03:35:21,325 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 03:35:21,325 INFO L272 TraceCheckUtils]: 11: Hoare triple {5044#(< 2 ~n~0)} call SelectionSort(); {4859#true} is VALID [2022-04-08 03:35:21,325 INFO L290 TraceCheckUtils]: 10: Hoare triple {5044#(< 2 ~n~0)} assume !(~i~1 >= 0); {5044#(< 2 ~n~0)} is VALID [2022-04-08 03:35:21,326 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 03:35:21,326 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 03:35:21,328 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 03:35:21,333 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 03:35:21,333 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 03:35:21,334 INFO L272 TraceCheckUtils]: 4: Hoare triple {5044#(< 2 ~n~0)} call #t~ret10 := main(); {5044#(< 2 ~n~0)} is VALID [2022-04-08 03:35:21,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5044#(< 2 ~n~0)} {4859#true} #95#return; {5044#(< 2 ~n~0)} is VALID [2022-04-08 03:35:21,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {5044#(< 2 ~n~0)} assume true; {5044#(< 2 ~n~0)} is VALID [2022-04-08 03:35:21,335 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 03:35:21,335 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-08 03:35:21,335 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 03:35:21,335 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1227056139] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:21,335 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:21,335 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6, 7] total 19 [2022-04-08 03:35:21,336 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:21,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [328372215] [2022-04-08 03:35:21,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [328372215] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:21,336 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:21,336 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 03:35:21,336 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [252717260] [2022-04-08 03:35:21,336 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:21,336 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 03:35:21,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:21,337 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 03:35:21,363 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 03:35:21,364 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 03:35:21,364 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:21,364 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 03:35:21,364 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2022-04-08 03:35:21,364 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 03:35:21,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:21,926 INFO L93 Difference]: Finished difference Result 83 states and 99 transitions. [2022-04-08 03:35:21,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 03:35:21,926 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 03:35:21,926 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:21,926 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 03:35:21,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-08 03:35:21,927 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 03:35:21,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-08 03:35:21,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2022-04-08 03:35:21,993 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 03:35:21,994 INFO L225 Difference]: With dead ends: 83 [2022-04-08 03:35:21,994 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 03:35:21,995 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 03:35:21,995 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 03:35:21,995 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 03:35:21,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 03:35:22,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-04-08 03:35:22,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:22,077 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 03:35:22,077 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 03:35:22,077 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 03:35:22,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:22,078 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-08 03:35:22,078 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-08 03:35:22,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:22,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:22,079 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 03:35:22,079 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 03:35:22,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:22,080 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-08 03:35:22,080 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-08 03:35:22,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:22,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:22,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:22,080 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:22,080 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 03:35:22,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-08 03:35:22,081 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 42 [2022-04-08 03:35:22,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:22,081 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-08 03:35:22,081 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 03:35:22,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 64 transitions. [2022-04-08 03:35:22,166 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 03:35:22,166 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-08 03:35:22,166 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 03:35:22,167 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:22,167 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 03:35:22,183 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 03:35:22,379 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 03:35:22,380 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:22,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:22,381 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 13 times [2022-04-08 03:35:22,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:22,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1068425077] [2022-04-08 03:35:22,385 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:22,385 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:22,385 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:22,385 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 14 times [2022-04-08 03:35:22,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:22,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1437569326] [2022-04-08 03:35:22,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:22,385 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:22,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:22,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:22,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:22,451 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 03:35:22,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:22,452 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:22,455 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:22,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:22,503 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 03:35:22,503 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 03:35:22,503 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 03:35:22,504 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 03:35:22,504 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 03:35:22,504 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 03:35:22,505 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 03:35:22,505 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 03:35:22,505 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 03:35:22,506 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 03:35:22,506 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 03:35:22,506 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 03:35:22,506 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 03:35:22,507 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 03:35:22,507 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 03:35:22,507 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 03:35:22,508 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 03:35:22,508 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 03:35:22,509 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 03:35:22,509 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 03:35:22,509 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 03:35:22,510 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 03:35:22,510 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 03:35:22,511 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 03:35:22,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-08 03:35:22,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-08 03:35:22,512 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-08 03:35:22,512 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 03:35:22,513 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 03:35:22,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:22,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:22,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#(<= 5 ~n~0)} call #t~ret10 := main(); {5567#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:22,515 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 03:35:22,515 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 03:35:22,515 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 03:35:22,516 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 03:35:22,516 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 03:35:22,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {5567#(<= 5 ~n~0)} assume !(~i~1 >= 0); {5567#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:22,517 INFO L272 TraceCheckUtils]: 11: Hoare triple {5567#(<= 5 ~n~0)} call SelectionSort(); {5596#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:22,517 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 03:35:22,517 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 03:35:22,518 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 03:35:22,518 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 03:35:22,518 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 03:35:22,518 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 03:35:22,519 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 03:35:22,519 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 03:35:22,519 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 03:35:22,520 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 03:35:22,520 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 03:35:22,520 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 03:35:22,521 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 03:35:22,521 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 03:35:22,521 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 03:35:22,521 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 03:35:22,522 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 03:35:22,522 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 03:35:22,523 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 03:35:22,523 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 03:35:22,523 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 03:35:22,524 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 03:35:22,524 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 03:35:22,524 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 03:35:22,525 INFO L290 TraceCheckUtils]: 36: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-08 03:35:22,525 INFO L290 TraceCheckUtils]: 37: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-08 03:35:22,525 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-08 03:35:22,525 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-08 03:35:22,526 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 03:35:22,526 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 03:35:22,526 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-08 03:35:22,526 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-08 03:35:22,526 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-08 03:35:22,526 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 03:35:22,526 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:22,526 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1437569326] [2022-04-08 03:35:22,526 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1437569326] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:22,526 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [273132042] [2022-04-08 03:35:22,526 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:22,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:22,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:22,527 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 03:35:22,563 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 03:35:22,594 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:22,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:22,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:22,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:22,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:22,725 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-08 03:35:22,725 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 03:35:22,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-08 03:35:22,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-08 03:35:22,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-08 03:35:22,725 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 03:35:22,726 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 03:35:22,726 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 03:35:22,726 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 03:35:22,727 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 03:35:22,727 INFO L290 TraceCheckUtils]: 10: Hoare triple {5634#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-08 03:35:22,727 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5563#false} is VALID [2022-04-08 03:35:22,727 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 03:35:22,727 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 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 03:35:22,728 INFO L290 TraceCheckUtils]: 26: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-08 03:35:22,728 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 03:35:22,729 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 03:35:22,729 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 03:35:22,729 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 03:35:22,729 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 03:35:22,729 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 03:35:22,729 INFO L290 TraceCheckUtils]: 33: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-08 03:35:22,729 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 03:35:22,729 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 03:35:22,729 INFO L290 TraceCheckUtils]: 36: Hoare triple {5563#false} assume !(~lh~0 < ~n~0); {5563#false} is VALID [2022-04-08 03:35:22,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {5563#false} assume true; {5563#false} is VALID [2022-04-08 03:35:22,729 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5563#false} {5563#false} #91#return; {5563#false} is VALID [2022-04-08 03:35:22,729 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-08 03:35:22,729 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 03:35:22,729 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 03:35:22,730 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-08 03:35:22,730 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-08 03:35:22,730 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-08 03:35:22,730 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 03:35:22,730 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:22,832 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-08 03:35:22,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-08 03:35:22,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-08 03:35:22,832 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 03:35:22,832 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 03:35:22,832 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-08 03:35:22,832 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5562#true} {5563#false} #91#return; {5563#false} is VALID [2022-04-08 03:35:22,832 INFO L290 TraceCheckUtils]: 37: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-08 03:35:22,832 INFO L290 TraceCheckUtils]: 36: Hoare triple {5562#true} assume !(~lh~0 < ~n~0); {5562#true} is VALID [2022-04-08 03:35:22,833 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 03:35:22,833 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 03:35:22,833 INFO L290 TraceCheckUtils]: 33: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-08 03:35:22,833 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 03:35:22,833 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 03:35:22,833 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 03:35:22,833 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 03:35:22,833 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 03:35:22,833 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 03:35:22,833 INFO L290 TraceCheckUtils]: 26: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-08 03:35:22,833 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 03:35:22,833 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 03:35:22,833 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 03:35:22,833 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 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 03:35:22,834 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5562#true} is VALID [2022-04-08 03:35:22,835 INFO L290 TraceCheckUtils]: 10: Hoare triple {5842#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-08 03:35:22,835 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 03:35:22,835 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 03:35:22,836 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 03:35:22,836 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 03:35:22,836 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 03:35:22,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-08 03:35:22,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-08 03:35:22,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-08 03:35:22,837 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 03:35:22,837 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-08 03:35:22,837 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 03:35:22,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [273132042] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:22,837 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:22,837 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-08 03:35:22,837 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:22,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1068425077] [2022-04-08 03:35:22,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1068425077] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:22,838 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:22,838 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 03:35:22,838 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1995031849] [2022-04-08 03:35:22,838 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:22,838 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 03:35:22,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:22,838 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 03:35:22,858 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 03:35:22,858 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 03:35:22,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:22,859 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 03:35:22,859 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-08 03:35:22,859 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 03:35:23,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:23,424 INFO L93 Difference]: Finished difference Result 87 states and 106 transitions. [2022-04-08 03:35:23,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 03:35:23,424 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 45 [2022-04-08 03:35:23,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:23,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:23,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-08 03:35:23,426 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 03:35:23,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-08 03:35:23,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 89 transitions. [2022-04-08 03:35:23,506 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 03:35:23,509 INFO L225 Difference]: With dead ends: 87 [2022-04-08 03:35:23,509 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 03:35:23,510 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 03:35:23,511 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 03:35:23,514 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 03:35:23,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 03:35:23,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-04-08 03:35:23,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:23,593 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 03:35:23,593 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 03:35:23,594 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:23,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:23,595 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 03:35:23,595 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 03:35:23,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:23,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:23,595 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 64 states. [2022-04-08 03:35:23,596 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 03:35:23,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:23,598 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 03:35:23,598 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 03:35:23,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:23,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:23,598 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:23,598 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:23,598 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 03:35:23,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 68 transitions. [2022-04-08 03:35:23,599 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 68 transitions. Word has length 45 [2022-04-08 03:35:23,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:23,599 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 68 transitions. [2022-04-08 03:35:23,599 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 03:35:23,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 68 transitions. [2022-04-08 03:35:23,711 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 03:35:23,712 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 68 transitions. [2022-04-08 03:35:23,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 03:35:23,712 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:23,712 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 03:35:23,728 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 03:35:23,912 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 03:35:23,913 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:23,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:23,913 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 15 times [2022-04-08 03:35:23,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:23,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1216652033] [2022-04-08 03:35:23,916 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:23,916 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:23,916 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:23,916 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 16 times [2022-04-08 03:35:23,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:23,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [275116241] [2022-04-08 03:35:23,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:23,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:23,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:23,975 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:23,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:23,980 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 03:35:23,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:23,981 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:23,983 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:23,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:24,038 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 03:35:24,038 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 03:35:24,039 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 03:35:24,039 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 03:35:24,039 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 03:35:24,039 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 03:35:24,040 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 03:35:24,040 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 03:35:24,040 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 03:35:24,041 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 03:35:24,041 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 03:35:24,041 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 03:35:24,041 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 03:35:24,042 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 03:35:24,042 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 03:35:24,042 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 03:35:24,043 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 03:35:24,043 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 03:35:24,044 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 03:35:24,044 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 03:35:24,044 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 03:35:24,045 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 03:35:24,045 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 03:35:24,045 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 03:35:24,046 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 03:35:24,046 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 03:35:24,046 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 03:35:24,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-08 03:35:24,047 INFO L290 TraceCheckUtils]: 28: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-08 03:35:24,047 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-08 03:35:24,048 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 03:35:24,049 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 03:35:24,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:24,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:24,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#(<= 5 ~n~0)} call #t~ret10 := main(); {6319#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:24,050 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 03:35:24,050 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 03:35:24,051 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 03:35:24,051 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 03:35:24,051 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 03:35:24,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {6319#(<= 5 ~n~0)} assume !(~i~1 >= 0); {6319#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:24,052 INFO L272 TraceCheckUtils]: 11: Hoare triple {6319#(<= 5 ~n~0)} call SelectionSort(); {6351#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:24,052 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 03:35:24,052 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 03:35:24,053 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 03:35:24,053 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 03:35:24,053 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 03:35:24,054 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 03:35:24,054 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 03:35:24,054 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 03:35:24,054 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 03:35:24,055 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 03:35:24,055 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 03:35:24,055 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 03:35:24,055 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 03:35:24,056 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 03:35:24,056 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 03:35:24,056 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 03:35:24,057 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 03:35:24,057 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 03:35:24,058 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 03:35:24,058 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 03:35:24,058 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 03:35:24,059 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 03:35:24,059 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 03:35:24,059 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 03:35:24,060 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 03:35:24,060 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 03:35:24,060 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 03:35:24,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-08 03:35:24,061 INFO L290 TraceCheckUtils]: 40: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-08 03:35:24,061 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-08 03:35:24,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-08 03:35:24,061 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 03:35:24,062 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 03:35:24,062 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-08 03:35:24,062 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-08 03:35:24,062 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-08 03:35:24,062 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 03:35:24,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:24,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [275116241] [2022-04-08 03:35:24,063 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [275116241] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:24,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1167911694] [2022-04-08 03:35:24,063 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:24,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:24,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:24,064 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 03:35:24,072 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 03:35:24,128 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:24,128 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:24,129 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 03:35:24,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:24,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:24,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-08 03:35:24,393 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 03:35:24,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-08 03:35:24,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-08 03:35:24,393 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-08 03:35:24,394 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 03:35:24,394 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 03:35:24,394 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 03:35:24,394 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 03:35:24,394 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 03:35:24,394 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-08 03:35:24,394 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-08 03:35:24,394 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 03:35:24,394 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 03:35:24,395 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 03:35:24,395 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 03:35:24,396 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 03:35:24,396 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 03:35:24,396 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 03:35:24,397 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 03:35:24,397 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 03:35:24,397 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 03:35:24,398 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 03:35:24,398 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 03:35:24,398 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 03:35:24,399 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 03:35:24,399 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 03:35:24,399 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 03:35:24,400 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 03:35:24,400 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 03:35:24,400 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 03:35:24,401 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 03:35:24,401 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 03:35:24,401 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 03:35:24,402 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 03:35:24,402 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 03:35:24,403 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-08 03:35:24,403 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 03:35:24,403 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 03:35:24,403 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-08 03:35:24,403 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-08 03:35:24,403 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-08 03:35:24,403 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-08 03:35:24,403 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 03:35:24,403 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 03:35:24,403 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-08 03:35:24,403 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-08 03:35:24,403 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-08 03:35:24,404 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 03:35:24,404 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:24,603 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-08 03:35:24,603 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-08 03:35:24,603 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-08 03:35:24,603 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 03:35:24,603 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 03:35:24,603 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-08 03:35:24,603 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-08 03:35:24,603 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-08 03:35:24,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-08 03:35:24,604 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 03:35:24,604 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 03:35:24,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-08 03:35:24,605 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 03:35:24,605 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 03:35:24,605 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 03:35:24,606 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 03:35:24,606 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 03:35:24,606 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 03:35:24,607 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 03:35:24,607 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 03:35:24,607 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 03:35:24,608 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 03:35:24,608 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 03:35:24,608 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 03:35:24,609 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 03:35:24,609 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 03:35:24,610 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 03:35:24,610 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 03:35:24,610 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 03:35:24,611 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 03:35:24,611 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 03:35:24,611 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 03:35:24,612 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 03:35:24,612 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 03:35:24,612 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 03:35:24,612 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 03:35:24,612 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-08 03:35:24,613 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-08 03:35:24,613 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 03:35:24,613 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 03:35:24,613 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 03:35:24,613 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 03:35:24,613 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 03:35:24,613 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-08 03:35:24,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-08 03:35:24,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-08 03:35:24,613 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 03:35:24,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-08 03:35:24,614 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 03:35:24,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1167911694] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:24,614 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:24,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-08 03:35:24,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:24,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1216652033] [2022-04-08 03:35:24,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1216652033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:24,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:24,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 03:35:24,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1692080166] [2022-04-08 03:35:24,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:24,615 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 03:35:24,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:24,615 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 03:35:24,642 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 03:35:24,642 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 03:35:24,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:24,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 03:35:24,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-08 03:35:24,643 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 03:35:25,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:25,400 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-08 03:35:25,400 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 03:35:25,401 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 03:35:25,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:25,401 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 03:35:25,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-08 03:35:25,402 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 03:35:25,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-08 03:35:25,403 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 97 transitions. [2022-04-08 03:35:25,484 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 03:35:25,484 INFO L225 Difference]: With dead ends: 90 [2022-04-08 03:35:25,484 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 03:35:25,485 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 03:35:25,485 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 03:35:25,485 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 03:35:25,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 03:35:25,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 60. [2022-04-08 03:35:25,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:25,567 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 03:35:25,567 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 03:35:25,567 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 03:35:25,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:25,568 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 03:35:25,568 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 03:35:25,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:25,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:25,569 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 03:35:25,569 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 03:35:25,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:25,570 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 03:35:25,570 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 03:35:25,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:25,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:25,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:25,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:25,570 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 03:35:25,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-08 03:35:25,571 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 48 [2022-04-08 03:35:25,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:25,571 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-08 03:35:25,571 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 03:35:25,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-08 03:35:25,673 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 03:35:25,674 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-08 03:35:25,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 03:35:25,674 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:25,674 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 03:35:25,690 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 03:35:25,874 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 03:35:25,875 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:25,875 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:25,875 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 17 times [2022-04-08 03:35:25,875 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:25,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1271844952] [2022-04-08 03:35:25,878 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:25,878 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:25,878 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:25,878 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 18 times [2022-04-08 03:35:25,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:25,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [573200211] [2022-04-08 03:35:25,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:25,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:25,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:25,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:25,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:25,940 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 03:35:25,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:25,941 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:25,944 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:25,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:25,981 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 03:35:25,982 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 03:35:25,982 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 03:35:25,982 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 03:35:25,983 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 03:35:25,983 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 03:35:25,983 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 03:35:25,983 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 03:35:25,984 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 03:35:25,984 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 03:35:25,984 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 03:35:25,984 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 03:35:25,985 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 03:35:25,985 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 03:35:25,985 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 03:35:25,985 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 03:35:25,986 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 03:35:25,986 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 03:35:25,986 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 03:35:25,987 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 03:35:25,987 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 03:35:25,987 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 03:35:25,987 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 03:35:25,988 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 03:35:25,988 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 03:35:25,988 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 03:35:25,989 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 03:35:25,989 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 03:35:25,989 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 03:35:25,989 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 03:35:25,990 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 03:35:25,990 INFO L290 TraceCheckUtils]: 31: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-08 03:35:25,991 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 03:35:25,991 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 03:35:25,992 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 03:35:25,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:25,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:25,993 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:25,993 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 03:35:25,994 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 03:35:25,994 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 03:35:25,994 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 03:35:25,994 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 03:35:25,995 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:25,995 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7154#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:25,995 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 03:35:25,996 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 03:35:25,996 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 03:35:25,996 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 03:35:25,996 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 03:35:25,997 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 03:35:25,997 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 03:35:25,997 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 03:35:25,998 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 03:35:25,998 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 03:35:25,998 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 03:35:25,998 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 03:35:25,999 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 03:35:25,999 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 03:35:25,999 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 03:35:25,999 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 03:35:26,000 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 03:35:26,000 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 03:35:26,000 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 03:35:26,001 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 03:35:26,001 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 03:35:26,001 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 03:35:26,001 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 03:35:26,001 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 03:35:26,002 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 03:35:26,002 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 03:35:26,002 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 03:35:26,002 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 03:35:26,003 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 03:35:26,003 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 03:35:26,003 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 03:35:26,004 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-08 03:35:26,004 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 03:35:26,004 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-08 03:35:26,004 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 03:35:26,004 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 03:35:26,004 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-08 03:35:26,004 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-08 03:35:26,005 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-08 03:35:26,005 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 03:35:26,005 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:26,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [573200211] [2022-04-08 03:35:26,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [573200211] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:26,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2074452422] [2022-04-08 03:35:26,005 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:26,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:26,005 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:26,006 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 03:35:26,007 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 03:35:26,072 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 03:35:26,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:26,073 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 03:35:26,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:26,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:26,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-08 03:35:26,395 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 03:35:26,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:26,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:26,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:26,396 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 03:35:26,397 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 03:35:26,397 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 03:35:26,397 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 03:35:26,398 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 03:35:26,398 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:26,398 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7119#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:26,399 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 03:35:26,399 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 03:35:26,399 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 03:35:26,400 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 03:35:26,400 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 03:35:26,401 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 03:35:26,401 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 03:35:26,401 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 03:35:26,402 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 03:35:26,402 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 03:35:26,403 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 03:35:26,403 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 03:35:26,403 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 03:35:26,404 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 03:35:26,404 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 03:35:26,404 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 03:35:26,405 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 03:35:26,405 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 03:35:26,406 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 03:35:26,406 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 03:35:26,407 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 03:35:26,407 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 03:35:26,407 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 03:35:26,408 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 03:35:26,408 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 03:35:26,408 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 03:35:26,409 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 03:35:26,409 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 03:35:26,410 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 03:35:26,410 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 03:35:26,411 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 03:35:26,411 INFO L290 TraceCheckUtils]: 43: Hoare triple {7115#false} assume true; {7115#false} is VALID [2022-04-08 03:35:26,411 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7115#false} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 03:35:26,411 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-08 03:35:26,411 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 03:35:26,411 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 03:35:26,411 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-08 03:35:26,411 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-08 03:35:26,411 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-08 03:35:26,411 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 03:35:26,411 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:26,901 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-08 03:35:26,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-08 03:35:26,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-08 03:35:26,901 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 03:35:26,901 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 03:35:26,901 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-08 03:35:26,902 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7333#(< 2 ~n~0)} #91#return; {7115#false} is VALID [2022-04-08 03:35:26,902 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-08 03:35:26,902 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 03:35:26,903 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 03:35:26,903 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 03:35:26,904 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 03:35:26,904 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 03:35:26,904 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 03:35:26,904 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 03:35:26,905 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 03:35:26,905 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 03:35:26,905 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 03:35:26,906 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 03:35:26,906 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 03:35:26,906 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 03:35:26,906 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 03:35:26,907 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 03:35:26,907 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 03:35:26,908 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 03:35:26,908 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 03:35:26,909 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 03:35:26,909 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 03:35:26,909 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 03:35:26,910 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 03:35:26,910 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 03:35:26,910 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 03:35:26,911 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 03:35:26,911 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 03:35:26,912 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 03:35:26,912 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 03:35:26,912 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 03:35:26,913 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 03:35:26,913 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 03:35:26,913 INFO L272 TraceCheckUtils]: 11: Hoare triple {7333#(< 2 ~n~0)} call SelectionSort(); {7114#true} is VALID [2022-04-08 03:35:26,914 INFO L290 TraceCheckUtils]: 10: Hoare triple {7333#(< 2 ~n~0)} assume !(~i~1 >= 0); {7333#(< 2 ~n~0)} is VALID [2022-04-08 03:35:26,914 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 03:35:26,914 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 03:35:26,914 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 03:35:26,915 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 03:35:26,915 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 03:35:26,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {7333#(< 2 ~n~0)} call #t~ret10 := main(); {7333#(< 2 ~n~0)} is VALID [2022-04-08 03:35:26,916 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7333#(< 2 ~n~0)} {7114#true} #95#return; {7333#(< 2 ~n~0)} is VALID [2022-04-08 03:35:26,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {7333#(< 2 ~n~0)} assume true; {7333#(< 2 ~n~0)} is VALID [2022-04-08 03:35:26,916 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 03:35:26,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-08 03:35:26,917 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 03:35:26,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2074452422] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:26,917 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:26,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-08 03:35:26,917 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:26,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1271844952] [2022-04-08 03:35:26,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1271844952] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:26,917 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:26,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 03:35:26,917 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072629536] [2022-04-08 03:35:26,918 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:26,918 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 03:35:26,918 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:26,918 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 03:35:26,942 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 03:35:26,943 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 03:35:26,943 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:26,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 03:35:26,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2022-04-08 03:35:26,943 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 03:35:27,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:27,460 INFO L93 Difference]: Finished difference Result 87 states and 105 transitions. [2022-04-08 03:35:27,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 03:35:27,460 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 03:35:27,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:27,460 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 03:35:27,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-08 03:35:27,461 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 03:35:27,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-08 03:35:27,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 72 transitions. [2022-04-08 03:35:27,522 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 03:35:27,523 INFO L225 Difference]: With dead ends: 87 [2022-04-08 03:35:27,523 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 03:35:27,524 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 03:35:27,525 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:27,525 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.1s Time] [2022-04-08 03:35:27,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 03:35:27,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 66. [2022-04-08 03:35:27,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:27,645 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 03:35:27,645 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 03:35:27,646 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 03:35:27,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:27,647 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 03:35:27,647 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 03:35:27,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:27,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:27,647 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 03:35:27,647 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 03:35:27,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:27,648 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 03:35:27,648 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 03:35:27,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:27,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:27,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:27,648 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:27,649 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 03:35:27,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 80 transitions. [2022-04-08 03:35:27,649 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 80 transitions. Word has length 51 [2022-04-08 03:35:27,649 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:27,650 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 80 transitions. [2022-04-08 03:35:27,650 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 03:35:27,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 80 transitions. [2022-04-08 03:35:27,749 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 03:35:27,750 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-08 03:35:27,750 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 03:35:27,750 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:27,750 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 03:35:27,767 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:27,963 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 03:35:27,963 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:27,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:27,963 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 19 times [2022-04-08 03:35:27,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:27,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1534179634] [2022-04-08 03:35:27,966 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:27,966 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:27,966 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:27,966 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 20 times [2022-04-08 03:35:27,966 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:27,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1067487996] [2022-04-08 03:35:27,966 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:27,966 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:27,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:28,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:28,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:28,016 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 03:35:28,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:28,017 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:28,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:28,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:28,111 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 03:35:28,111 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 03:35:28,111 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 03:35:28,112 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 03:35:28,112 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 03:35:28,112 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 03:35:28,112 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 03:35:28,113 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 03:35:28,113 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 03:35:28,113 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 03:35:28,114 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 03:35:28,114 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 03:35:28,114 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 03:35:28,114 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 03:35:28,115 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 03:35:28,115 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 03:35:28,115 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 03:35:28,116 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 03:35:28,116 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 03:35:28,116 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 03:35:28,117 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 03:35:28,117 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 03:35:28,117 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 03:35:28,117 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 03:35:28,118 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 03:35:28,118 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 03:35:28,118 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 03:35:28,119 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 03:35:28,119 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 03:35:28,119 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 03:35:28,120 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 03:35:28,120 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 03:35:28,120 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 03:35:28,121 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 03:35:28,121 INFO L290 TraceCheckUtils]: 34: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-08 03:35:28,121 INFO L290 TraceCheckUtils]: 35: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-08 03:35:28,122 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-08 03:35:28,122 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 03:35:28,123 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 03:35:28,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:28,127 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:28,127 INFO L272 TraceCheckUtils]: 4: Hoare triple {7946#(<= 5 ~n~0)} call #t~ret10 := main(); {7946#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:28,128 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 03:35:28,128 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 03:35:28,128 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 03:35:28,129 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 03:35:28,129 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 03:35:28,129 INFO L290 TraceCheckUtils]: 10: Hoare triple {7946#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7946#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:28,129 INFO L272 TraceCheckUtils]: 11: Hoare triple {7946#(<= 5 ~n~0)} call SelectionSort(); {7985#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:28,130 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 03:35:28,130 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 03:35:28,130 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 03:35:28,130 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 03:35:28,131 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 03:35:28,131 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 03:35:28,131 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 03:35:28,132 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 03:35:28,132 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 03:35:28,132 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 03:35:28,132 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 03:35:28,133 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 03:35:28,133 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 03:35:28,133 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 03:35:28,133 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 03:35:28,134 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 03:35:28,134 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 03:35:28,134 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 03:35:28,134 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 03:35:28,135 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 03:35:28,135 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 03:35:28,135 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 03:35:28,136 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 03:35:28,136 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 03:35:28,136 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 03:35:28,136 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 03:35:28,137 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 03:35:28,137 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 03:35:28,137 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 03:35:28,137 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 03:35:28,138 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 03:35:28,138 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 03:35:28,138 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 03:35:28,139 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 03:35:28,139 INFO L290 TraceCheckUtils]: 46: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-08 03:35:28,139 INFO L290 TraceCheckUtils]: 47: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-08 03:35:28,140 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-08 03:35:28,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-08 03:35:28,140 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 03:35:28,140 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 03:35:28,140 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-08 03:35:28,140 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-08 03:35:28,140 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-08 03:35:28,140 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 03:35:28,140 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:28,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1067487996] [2022-04-08 03:35:28,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1067487996] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:28,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [770180603] [2022-04-08 03:35:28,141 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:28,141 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:28,141 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:28,142 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 03:35:28,142 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 03:35:28,210 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:28,211 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:28,211 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:28,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:28,222 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:28,351 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-08 03:35:28,351 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 03:35:28,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-08 03:35:28,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-08 03:35:28,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-08 03:35:28,352 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 03:35:28,352 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 03:35:28,352 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 03:35:28,353 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 03:35:28,353 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 03:35:28,353 INFO L290 TraceCheckUtils]: 10: Hoare triple {8023#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-08 03:35:28,353 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7942#false} is VALID [2022-04-08 03:35:28,353 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 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 03:35:28,354 INFO L290 TraceCheckUtils]: 26: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-08 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 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 03:35:28,355 INFO L290 TraceCheckUtils]: 39: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-08 03:35:28,355 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 03:35:28,356 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 03:35:28,356 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 03:35:28,356 INFO L290 TraceCheckUtils]: 43: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-08 03:35:28,356 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 03:35:28,356 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 03:35:28,356 INFO L290 TraceCheckUtils]: 46: Hoare triple {7942#false} assume !(~lh~0 < ~n~0); {7942#false} is VALID [2022-04-08 03:35:28,356 INFO L290 TraceCheckUtils]: 47: Hoare triple {7942#false} assume true; {7942#false} is VALID [2022-04-08 03:35:28,356 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7942#false} {7942#false} #91#return; {7942#false} is VALID [2022-04-08 03:35:28,356 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-08 03:35:28,356 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 03:35:28,356 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 03:35:28,356 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-08 03:35:28,356 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-08 03:35:28,356 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-08 03:35:28,357 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 03:35:28,357 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:28,483 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-08 03:35:28,483 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-08 03:35:28,483 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-08 03:35:28,483 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 03:35:28,483 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 03:35:28,483 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-08 03:35:28,483 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7941#true} {7942#false} #91#return; {7942#false} is VALID [2022-04-08 03:35:28,484 INFO L290 TraceCheckUtils]: 47: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-08 03:35:28,484 INFO L290 TraceCheckUtils]: 46: Hoare triple {7941#true} assume !(~lh~0 < ~n~0); {7941#true} is VALID [2022-04-08 03:35:28,484 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 03:35:28,484 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 03:35:28,484 INFO L290 TraceCheckUtils]: 43: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-08 03:35:28,484 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 03:35:28,484 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 03:35:28,484 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 03:35:28,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-08 03:35:28,484 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 03:35:28,484 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 03:35:28,484 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 03:35:28,484 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 03:35:28,484 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 INFO L290 TraceCheckUtils]: 26: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-08 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,485 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 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 03:35:28,486 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7941#true} is VALID [2022-04-08 03:35:28,493 INFO L290 TraceCheckUtils]: 10: Hoare triple {8291#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-08 03:35:28,494 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 03:35:28,494 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 03:35:28,494 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 03:35:28,495 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 03:35:28,495 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 03:35:28,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-08 03:35:28,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-08 03:35:28,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-08 03:35:28,495 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 03:35:28,495 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-08 03:35:28,496 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 03:35:28,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [770180603] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:28,496 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:28,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-08 03:35:28,497 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:28,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1534179634] [2022-04-08 03:35:28,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1534179634] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:28,497 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:28,497 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 03:35:28,497 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1734719182] [2022-04-08 03:35:28,497 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:28,497 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 03:35:28,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:28,498 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 03:35:28,527 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 03:35:28,527 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 03:35:28,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:28,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 03:35:28,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 03:35:28,528 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 03:35:29,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:29,159 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-08 03:35:29,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 03:35:29,159 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 03:35:29,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:29,159 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 03:35:29,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-08 03:35:29,160 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 03:35:29,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-08 03:35:29,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 87 transitions. [2022-04-08 03:35:29,233 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 03:35:29,234 INFO L225 Difference]: With dead ends: 90 [2022-04-08 03:35:29,234 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 03:35:29,235 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 03:35:29,235 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 03:35:29,235 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 03:35:29,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 03:35:29,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 67. [2022-04-08 03:35:29,345 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:29,345 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 03:35:29,345 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 03:35:29,346 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 03:35:29,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:29,347 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 03:35:29,347 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 03:35:29,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:29,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:29,347 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 03:35:29,348 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 03:35:29,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:29,349 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-08 03:35:29,349 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 03:35:29,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:29,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:29,350 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:29,350 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:29,350 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 03:35:29,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-04-08 03:35:29,351 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 55 [2022-04-08 03:35:29,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:29,351 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-04-08 03:35:29,352 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 03:35:29,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 81 transitions. [2022-04-08 03:35:29,477 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 03:35:29,477 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-04-08 03:35:29,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-08 03:35:29,478 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:29,478 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 03:35:29,494 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 03:35:29,694 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 03:35:29,694 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:29,695 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:29,695 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 21 times [2022-04-08 03:35:29,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:29,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1313884671] [2022-04-08 03:35:29,697 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:29,697 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:29,698 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:29,698 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 22 times [2022-04-08 03:35:29,698 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:29,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2125655194] [2022-04-08 03:35:29,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:29,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:29,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:29,751 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:29,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:29,757 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 03:35:29,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:29,757 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:29,760 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:29,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:29,817 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 03:35:29,818 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 03:35:29,818 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 03:35:29,818 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 03:35:29,818 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 03:35:29,819 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 03:35:29,819 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 03:35:29,819 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 03:35:29,819 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 03:35:29,820 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 03:35:29,820 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 03:35:29,820 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 03:35:29,821 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 03:35:29,821 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 03:35:29,821 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 03:35:29,821 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 03:35:29,822 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 03:35:29,822 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 03:35:29,827 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 03:35:29,827 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 03:35:29,828 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 03:35:29,828 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 03:35:29,828 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 03:35:29,828 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 03:35:29,829 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 03:35:29,829 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 03:35:29,829 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 03:35:29,829 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 03:35:29,830 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 03:35:29,830 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 03:35:29,830 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 03:35:29,831 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 03:35:29,831 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 03:35:29,831 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 03:35:29,832 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 03:35:29,832 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 03:35:29,832 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 03:35:29,833 INFO L290 TraceCheckUtils]: 37: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-08 03:35:29,833 INFO L290 TraceCheckUtils]: 38: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-08 03:35:29,833 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-08 03:35:29,834 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 03:35:29,834 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 03:35:29,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:29,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:29,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {8814#(<= 5 ~n~0)} call #t~ret10 := main(); {8814#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:29,835 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 03:35:29,836 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 03:35:29,836 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 03:35:29,836 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 03:35:29,836 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 03:35:29,837 INFO L290 TraceCheckUtils]: 10: Hoare triple {8814#(<= 5 ~n~0)} assume !(~i~1 >= 0); {8814#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:29,837 INFO L272 TraceCheckUtils]: 11: Hoare triple {8814#(<= 5 ~n~0)} call SelectionSort(); {8856#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:29,837 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 03:35:29,838 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 03:35:29,838 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 03:35:29,838 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 03:35:29,838 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 03:35:29,839 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 03:35:29,839 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 03:35:29,839 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 03:35:29,839 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 03:35:29,840 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 03:35:29,840 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 03:35:29,840 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 03:35:29,840 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 03:35:29,841 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 03:35:29,841 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 03:35:29,841 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 03:35:29,842 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 03:35:29,842 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 03:35:29,842 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 03:35:29,842 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 03:35:29,843 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 03:35:29,843 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 03:35:29,843 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 03:35:29,843 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 03:35:29,844 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 03:35:29,844 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 03:35:29,844 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 03:35:29,844 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 03:35:29,845 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 03:35:29,845 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 03:35:29,845 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 03:35:29,846 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 03:35:29,846 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 03:35:29,846 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 03:35:29,847 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 03:35:29,847 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 03:35:29,847 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 03:35:29,847 INFO L290 TraceCheckUtils]: 49: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-08 03:35:29,848 INFO L290 TraceCheckUtils]: 50: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-08 03:35:29,848 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-08 03:35:29,848 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-08 03:35:29,848 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 03:35:29,848 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 03:35:29,848 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-08 03:35:29,848 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-08 03:35:29,848 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-08 03:35:29,849 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 03:35:29,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:29,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2125655194] [2022-04-08 03:35:29,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2125655194] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:29,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [182140997] [2022-04-08 03:35:29,849 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:29,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:29,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:29,850 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 03:35:29,851 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 03:35:29,919 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:29,919 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:29,920 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 03:35:29,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:29,935 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:30,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-08 03:35:30,208 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 03:35:30,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-08 03:35:30,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-08 03:35:30,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-08 03:35:30,208 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 03:35:30,208 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 03:35:30,208 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 03:35:30,208 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 03:35:30,208 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 03:35:30,208 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-08 03:35:30,208 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-08 03:35:30,209 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 03:35:30,209 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 03:35:30,209 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 03:35:30,209 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 03:35:30,210 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 03:35:30,210 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 03:35:30,210 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 03:35:30,211 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 03:35:30,211 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 03:35:30,211 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 03:35:30,212 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 03:35:30,212 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 03:35:30,213 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 03:35:30,213 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 03:35:30,213 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 03:35:30,213 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 03:35:30,214 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 03:35:30,214 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 03:35:30,214 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 03:35:30,215 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 03:35:30,215 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 03:35:30,215 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 03:35:30,215 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 03:35:30,216 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 03:35:30,216 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 03:35:30,216 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 03:35:30,216 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 03:35:30,217 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 03:35:30,217 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 03:35:30,217 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 03:35:30,218 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 03:35:30,218 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 03:35:30,218 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 03:35:30,219 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 03:35:30,219 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-08 03:35:30,219 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 03:35:30,219 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 03:35:30,219 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-08 03:35:30,219 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-08 03:35:30,219 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-08 03:35:30,219 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-08 03:35:30,219 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 03:35:30,220 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 03:35:30,220 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-08 03:35:30,220 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-08 03:35:30,220 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-08 03:35:30,220 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 03:35:30,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:30,438 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-08 03:35:30,438 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-08 03:35:30,438 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-08 03:35:30,438 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 03:35:30,438 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 03:35:30,438 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-08 03:35:30,438 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-08 03:35:30,439 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-08 03:35:30,439 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-08 03:35:30,439 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 03:35:30,439 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 03:35:30,439 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-08 03:35:30,440 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 03:35:30,440 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 03:35:30,440 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 03:35:30,441 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 03:35:30,441 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 03:35:30,441 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 03:35:30,441 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 03:35:30,442 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 03:35:30,442 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 03:35:30,442 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 03:35:30,443 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 03:35:30,443 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 03:35:30,443 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 03:35:30,443 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 03:35:30,444 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 03:35:30,444 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 03:35:30,444 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 03:35:30,445 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 03:35:30,445 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 03:35:30,445 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 03:35:30,445 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 03:35:30,446 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 03:35:30,446 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 03:35:30,447 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 03:35:30,447 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 03:35:30,447 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 03:35:30,447 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 03:35:30,448 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 03:35:30,448 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 03:35:30,448 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 03:35:30,449 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 03:35:30,449 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 03:35:30,449 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 03:35:30,449 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 03:35:30,449 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-08 03:35:30,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-08 03:35:30,450 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 03:35:30,450 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 03:35:30,450 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 03:35:30,450 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 03:35:30,450 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 03:35:30,450 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-08 03:35:30,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-08 03:35:30,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-08 03:35:30,450 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 03:35:30,450 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-08 03:35:30,450 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 03:35:30,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [182140997] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:30,451 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:30,451 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-08 03:35:30,451 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:30,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1313884671] [2022-04-08 03:35:30,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1313884671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:30,451 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:30,451 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 03:35:30,451 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1096874133] [2022-04-08 03:35:30,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:30,452 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 03:35:30,453 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:30,453 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 03:35:30,478 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 03:35:30,478 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 03:35:30,478 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:30,479 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 03:35:30,479 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-08 03:35:30,479 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 03:35:31,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:31,254 INFO L93 Difference]: Finished difference Result 100 states and 123 transitions. [2022-04-08 03:35:31,254 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 03:35:31,254 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 03:35:31,254 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:31,255 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 03:35:31,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-08 03:35:31,256 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 03:35:31,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-08 03:35:31,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 105 transitions. [2022-04-08 03:35:31,343 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 03:35:31,344 INFO L225 Difference]: With dead ends: 100 [2022-04-08 03:35:31,344 INFO L226 Difference]: Without dead ends: 77 [2022-04-08 03:35:31,344 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 03:35:31,345 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 03:35:31,345 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 03:35:31,345 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-08 03:35:31,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-08 03:35:31,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:31,466 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 03:35:31,466 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 03:35:31,467 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 03:35:31,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:31,468 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-08 03:35:31,468 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-08 03:35:31,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:31,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:31,468 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 03:35:31,468 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 03:35:31,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:31,469 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-08 03:35:31,469 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-08 03:35:31,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:31,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:31,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:31,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:31,470 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 03:35:31,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 85 transitions. [2022-04-08 03:35:31,471 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 85 transitions. Word has length 58 [2022-04-08 03:35:31,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:31,471 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 85 transitions. [2022-04-08 03:35:31,471 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 03:35:31,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 85 transitions. [2022-04-08 03:35:31,580 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 03:35:31,581 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-08 03:35:31,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 03:35:31,581 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:31,581 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 03:35:31,603 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:31,781 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 03:35:31,782 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:31,782 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:31,782 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 23 times [2022-04-08 03:35:31,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:31,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1607205451] [2022-04-08 03:35:31,785 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:31,785 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:31,785 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:31,785 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 24 times [2022-04-08 03:35:31,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:31,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [331149823] [2022-04-08 03:35:31,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:31,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:31,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:31,823 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:31,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:31,833 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 03:35:31,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:31,833 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:31,836 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:31,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:31,886 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 03:35:31,887 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 03:35:31,887 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 03:35:31,887 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 03:35:31,888 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 03:35:31,888 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 03:35:31,888 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 03:35:31,888 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 03:35:31,889 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 03:35:31,889 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 03:35:31,889 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 03:35:31,889 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 03:35:31,890 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 03:35:31,890 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 03:35:31,890 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 03:35:31,890 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 03:35:31,891 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 03:35:31,891 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 03:35:31,891 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 03:35:31,891 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 03:35:31,892 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 03:35:31,892 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 03:35:31,892 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 03:35:31,892 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 03:35:31,893 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 03:35:31,893 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 03:35:31,893 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 03:35:31,893 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 03:35:31,894 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 03:35:31,894 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 03:35:31,894 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 03:35:31,895 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 03:35:31,895 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 03:35:31,895 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 03:35:31,895 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 03:35:31,896 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 03:35:31,896 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 03:35:31,896 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 03:35:31,896 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 03:35:31,897 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 03:35:31,897 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 03:35:31,897 INFO L290 TraceCheckUtils]: 41: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-08 03:35:31,898 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-08 03:35:31,898 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 03:35:31,899 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 03:35:31,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:31,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:31,900 INFO L272 TraceCheckUtils]: 4: Hoare triple {9746#(<= 5 ~n~0)} call #t~ret10 := main(); {9746#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:31,900 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 03:35:31,900 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 03:35:31,900 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 03:35:31,901 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 03:35:31,901 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 03:35:31,901 INFO L290 TraceCheckUtils]: 10: Hoare triple {9746#(<= 5 ~n~0)} assume !(~i~1 >= 0); {9746#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:31,901 INFO L272 TraceCheckUtils]: 11: Hoare triple {9746#(<= 5 ~n~0)} call SelectionSort(); {9791#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:31,902 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 03:35:31,902 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 03:35:31,902 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 03:35:31,902 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 03:35:31,903 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 03:35:31,903 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 03:35:31,903 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 03:35:31,903 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 03:35:31,904 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 03:35:31,904 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 03:35:31,904 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 03:35:31,904 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 03:35:31,905 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 03:35:31,905 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 03:35:31,905 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 03:35:31,905 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 03:35:31,906 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 03:35:31,906 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 03:35:31,906 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 03:35:31,906 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 03:35:31,907 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 03:35:31,907 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 03:35:31,907 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 03:35:31,907 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 03:35:31,908 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 03:35:31,908 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 03:35:31,908 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 03:35:31,908 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 03:35:31,909 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 03:35:31,909 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 03:35:31,909 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 03:35:31,910 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 03:35:31,910 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 03:35:31,910 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 03:35:31,923 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 03:35:31,924 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 03:35:31,924 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 03:35:31,924 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 03:35:31,924 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 03:35:31,925 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 03:35:31,925 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 03:35:31,925 INFO L290 TraceCheckUtils]: 53: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-08 03:35:31,926 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-08 03:35:31,926 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-08 03:35:31,926 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 03:35:31,926 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 03:35:31,926 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-08 03:35:31,926 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-08 03:35:31,926 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-08 03:35:31,927 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 03:35:31,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:31,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [331149823] [2022-04-08 03:35:31,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [331149823] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:31,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1640221137] [2022-04-08 03:35:31,927 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:31,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:31,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:31,930 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 03:35:31,932 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 03:35:32,000 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 03:35:32,000 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:32,001 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:32,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:32,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:32,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-08 03:35:32,129 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 03:35:32,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-08 03:35:32,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-08 03:35:32,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-08 03:35:32,130 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 03:35:32,130 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 03:35:32,130 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 03:35:32,144 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 03:35:32,145 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 03:35:32,145 INFO L290 TraceCheckUtils]: 10: Hoare triple {9829#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-08 03:35:32,145 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9742#false} is VALID [2022-04-08 03:35:32,145 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 03:35:32,145 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 03:35:32,145 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 03:35:32,145 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 03:35:32,145 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 03:35:32,145 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 03:35:32,145 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 INFO L290 TraceCheckUtils]: 26: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-08 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,146 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 INFO L290 TraceCheckUtils]: 39: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-08 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,147 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 03:35:32,148 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 03:35:32,148 INFO L290 TraceCheckUtils]: 49: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-08 03:35:32,148 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 03:35:32,148 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 03:35:32,148 INFO L290 TraceCheckUtils]: 52: Hoare triple {9742#false} assume !(~lh~0 < ~n~0); {9742#false} is VALID [2022-04-08 03:35:32,148 INFO L290 TraceCheckUtils]: 53: Hoare triple {9742#false} assume true; {9742#false} is VALID [2022-04-08 03:35:32,148 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9742#false} {9742#false} #91#return; {9742#false} is VALID [2022-04-08 03:35:32,148 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-08 03:35:32,148 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 03:35:32,148 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 03:35:32,148 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-08 03:35:32,148 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-08 03:35:32,148 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-08 03:35:32,149 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 03:35:32,149 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:32,267 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-08 03:35:32,267 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-08 03:35:32,267 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-08 03:35:32,267 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 03:35:32,267 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 03:35:32,267 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-08 03:35:32,267 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9741#true} {9742#false} #91#return; {9742#false} is VALID [2022-04-08 03:35:32,267 INFO L290 TraceCheckUtils]: 53: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-08 03:35:32,267 INFO L290 TraceCheckUtils]: 52: Hoare triple {9741#true} assume !(~lh~0 < ~n~0); {9741#true} is VALID [2022-04-08 03:35:32,268 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 03:35:32,268 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 03:35:32,268 INFO L290 TraceCheckUtils]: 49: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-08 03:35:32,268 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 03:35:32,268 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 03:35:32,268 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 03:35:32,268 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 03:35:32,268 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 03:35:32,268 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 03:35:32,268 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 03:35:32,268 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 03:35:32,268 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 03:35:32,268 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-08 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 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 03:35:32,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-08 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,270 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 03:35:32,271 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 03:35:32,271 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9741#true} is VALID [2022-04-08 03:35:32,271 INFO L290 TraceCheckUtils]: 10: Hoare triple {10133#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-08 03:35:32,272 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 03:35:32,273 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 03:35:32,275 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 03:35:32,276 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 03:35:32,276 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 03:35:32,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-08 03:35:32,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-08 03:35:32,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-08 03:35:32,277 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 03:35:32,277 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-08 03:35:32,277 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 03:35:32,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1640221137] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:32,277 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:32,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-08 03:35:32,277 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:32,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1607205451] [2022-04-08 03:35:32,278 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1607205451] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:32,278 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:32,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 03:35:32,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072572423] [2022-04-08 03:35:32,278 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:32,278 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 03:35:32,278 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:32,278 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 03:35:32,304 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 03:35:32,304 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 03:35:32,304 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:32,304 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 03:35:32,304 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 03:35:32,304 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 03:35:32,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:32,841 INFO L93 Difference]: Finished difference Result 97 states and 118 transitions. [2022-04-08 03:35:32,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 03:35:32,841 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 03:35:32,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:32,842 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 03:35:32,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-08 03:35:32,843 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 03:35:32,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-08 03:35:32,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-08 03:35:32,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:32,927 INFO L225 Difference]: With dead ends: 97 [2022-04-08 03:35:32,927 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 03:35:32,928 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 03:35:32,928 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 03:35:32,928 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 03:35:32,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 03:35:33,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 76. [2022-04-08 03:35:33,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:33,055 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 03:35:33,056 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 03:35:33,056 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 03:35:33,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:33,057 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 03:35:33,057 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 03:35:33,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:33,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:33,057 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 03:35:33,057 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 03:35:33,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:33,058 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 03:35:33,058 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 03:35:33,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:33,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:33,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:33,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:33,059 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 03:35:33,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 93 transitions. [2022-04-08 03:35:33,060 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 93 transitions. Word has length 61 [2022-04-08 03:35:33,060 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:33,060 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 93 transitions. [2022-04-08 03:35:33,060 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 03:35:33,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 93 transitions. [2022-04-08 03:35:33,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:33,200 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-08 03:35:33,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-08 03:35:33,200 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:33,200 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 9, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 03:35:33,216 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 03:35:33,411 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 03:35:33,411 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:33,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:33,412 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 25 times [2022-04-08 03:35:33,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:33,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [361631580] [2022-04-08 03:35:33,415 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:33,415 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:33,415 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:33,415 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 26 times [2022-04-08 03:35:33,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:33,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [859700257] [2022-04-08 03:35:33,416 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:33,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:33,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:33,478 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:33,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:33,485 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 03:35:33,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:33,486 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:33,489 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:33,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:33,559 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 03:35:33,559 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 03:35:33,560 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 03:35:33,560 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 03:35:33,560 INFO L290 TraceCheckUtils]: 4: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-08 03:35:33,560 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 03:35:33,561 INFO L290 TraceCheckUtils]: 6: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-08 03:35:33,561 INFO L290 TraceCheckUtils]: 7: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-08 03:35:33,561 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 03:35:33,561 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 03:35:33,562 INFO L290 TraceCheckUtils]: 10: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-08 03:35:33,562 INFO L290 TraceCheckUtils]: 11: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-08 03:35:33,562 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 03:35:33,562 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 03:35:33,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-08 03:35:33,563 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 03:35:33,563 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 03:35:33,564 INFO L290 TraceCheckUtils]: 17: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-08 03:35:33,564 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 03:35:33,564 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 03:35:33,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-08 03:35:33,565 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 03:35:33,565 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 03:35:33,566 INFO L290 TraceCheckUtils]: 23: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-08 03:35:33,566 INFO L290 TraceCheckUtils]: 24: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-08 03:35:33,566 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 03:35:33,567 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 03:35:33,567 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 03:35:33,567 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 03:35:33,568 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 03:35:33,568 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 03:35:33,568 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 03:35:33,569 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 03:35:33,569 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 03:35:33,569 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 03:35:33,569 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 03:35:33,570 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 03:35:33,570 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 03:35:33,570 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 03:35:33,571 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 03:35:33,571 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 03:35:33,572 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 03:35:33,572 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 03:35:33,572 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 03:35:33,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-08 03:35:33,573 INFO L290 TraceCheckUtils]: 45: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-08 03:35:33,574 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-08 03:35:33,574 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 03:35:33,575 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 03:35:33,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:33,576 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:33,576 INFO L272 TraceCheckUtils]: 4: Hoare triple {10704#(<= 5 ~n~0)} call #t~ret10 := main(); {10704#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:33,576 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 03:35:33,576 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 03:35:33,577 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 03:35:33,577 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 03:35:33,577 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 03:35:33,578 INFO L290 TraceCheckUtils]: 10: Hoare triple {10704#(<= 5 ~n~0)} assume !(~i~1 >= 0); {10704#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:33,578 INFO L272 TraceCheckUtils]: 11: Hoare triple {10704#(<= 5 ~n~0)} call SelectionSort(); {10753#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:33,578 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 03:35:33,579 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 03:35:33,579 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 03:35:33,579 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 03:35:33,579 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 03:35:33,580 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 03:35:33,580 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 03:35:33,580 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 03:35:33,581 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 03:35:33,581 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 03:35:33,581 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 03:35:33,581 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 03:35:33,582 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 03:35:33,582 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 03:35:33,582 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 03:35:33,583 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 03:35:33,583 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 03:35:33,583 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 03:35:33,584 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 03:35:33,584 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 03:35:33,584 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 03:35:33,584 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 03:35:33,585 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 03:35:33,585 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 03:35:33,585 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 03:35:33,586 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 03:35:33,586 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 03:35:33,586 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 03:35:33,586 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 03:35:33,587 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 03:35:33,587 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 03:35:33,587 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 03:35:33,588 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 03:35:33,588 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 03:35:33,588 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 03:35:33,589 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 03:35:33,589 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 03:35:33,589 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 03:35:33,589 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 03:35:33,590 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 03:35:33,590 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 03:35:33,591 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 03:35:33,591 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 03:35:33,591 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 03:35:33,592 INFO L290 TraceCheckUtils]: 56: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-08 03:35:33,592 INFO L290 TraceCheckUtils]: 57: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-08 03:35:33,592 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-08 03:35:33,592 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-08 03:35:33,592 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 03:35:33,593 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 03:35:33,593 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-08 03:35:33,593 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-08 03:35:33,593 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-08 03:35:33,594 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 03:35:33,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:33,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [859700257] [2022-04-08 03:35:33,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [859700257] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:33,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [739979075] [2022-04-08 03:35:33,595 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:33,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:33,595 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:33,612 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 03:35:33,613 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 03:35:33,695 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:33,696 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:33,697 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:33,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:33,706 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:33,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-08 03:35:33,876 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 03:35:33,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-08 03:35:33,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-08 03:35:33,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-08 03:35:33,878 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 03:35:33,878 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 03:35:33,879 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 03:35:33,879 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 03:35:33,879 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 03:35:33,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {10792#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-08 03:35:33,880 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10700#false} is VALID [2022-04-08 03:35:33,880 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 03:35:33,880 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 03:35:33,880 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 03:35:33,880 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 03:35:33,880 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 03:35:33,880 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 03:35:33,880 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,881 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,882 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 03:35:33,883 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 03:35:33,883 INFO L290 TraceCheckUtils]: 49: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 03:35:33,883 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 03:35:33,883 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 03:35:33,883 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 03:35:33,883 INFO L290 TraceCheckUtils]: 53: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-08 03:35:33,883 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 03:35:33,883 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 03:35:33,883 INFO L290 TraceCheckUtils]: 56: Hoare triple {10700#false} assume !(~lh~0 < ~n~0); {10700#false} is VALID [2022-04-08 03:35:33,883 INFO L290 TraceCheckUtils]: 57: Hoare triple {10700#false} assume true; {10700#false} is VALID [2022-04-08 03:35:33,883 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10700#false} {10700#false} #91#return; {10700#false} is VALID [2022-04-08 03:35:33,883 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-08 03:35:33,883 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 03:35:33,883 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 03:35:33,884 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-08 03:35:33,884 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-08 03:35:33,884 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-08 03:35:33,884 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 03:35:33,884 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:34,026 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-08 03:35:34,026 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-08 03:35:34,026 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-08 03:35:34,027 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 03:35:34,027 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 03:35:34,027 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-08 03:35:34,027 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10699#true} {10700#false} #91#return; {10700#false} is VALID [2022-04-08 03:35:34,027 INFO L290 TraceCheckUtils]: 57: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-08 03:35:34,027 INFO L290 TraceCheckUtils]: 56: Hoare triple {10699#true} assume !(~lh~0 < ~n~0); {10699#true} is VALID [2022-04-08 03:35:34,027 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 03:35:34,027 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 03:35:34,027 INFO L290 TraceCheckUtils]: 53: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 03:35:34,027 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 03:35:34,027 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 03:35:34,027 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 03:35:34,027 INFO L290 TraceCheckUtils]: 49: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 03:35:34,027 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 INFO L290 TraceCheckUtils]: 39: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,028 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-08 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,029 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 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 03:35:34,030 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10699#true} is VALID [2022-04-08 03:35:34,030 INFO L290 TraceCheckUtils]: 10: Hoare triple {11120#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-08 03:35:34,031 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 03:35:34,031 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 03:35:34,032 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 03:35:34,032 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 03:35:34,032 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 03:35:34,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-08 03:35:34,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-08 03:35:34,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-08 03:35:34,032 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 03:35:34,033 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-08 03:35:34,033 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 03:35:34,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [739979075] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:34,033 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:34,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 5, 5] total 16 [2022-04-08 03:35:34,033 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:34,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [361631580] [2022-04-08 03:35:34,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [361631580] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:34,033 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:34,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 03:35:34,033 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [67004937] [2022-04-08 03:35:34,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:34,034 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 03:35:34,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:34,034 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 03:35:34,076 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 03:35:34,077 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 03:35:34,077 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:34,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 03:35:34,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-08 03:35:34,077 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 03:35:34,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:34,857 INFO L93 Difference]: Finished difference Result 100 states and 121 transitions. [2022-04-08 03:35:34,857 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 03:35:34,858 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 03:35:34,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:34,858 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 03:35:34,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-08 03:35:34,859 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 03:35:34,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-08 03:35:34,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 99 transitions. [2022-04-08 03:35:34,960 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 03:35:34,961 INFO L225 Difference]: With dead ends: 100 [2022-04-08 03:35:34,961 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 03:35:34,962 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 126 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=173, Invalid=639, Unknown=0, NotChecked=0, Total=812 [2022-04-08 03:35:34,962 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 03:35:34,962 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 03:35:34,963 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 03:35:35,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 77. [2022-04-08 03:35:35,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:35,106 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 03:35:35,106 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 03:35:35,106 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 03:35:35,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:35,108 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 03:35:35,108 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 03:35:35,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:35,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:35,108 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 03:35:35,108 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 03:35:35,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:35,111 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-08 03:35:35,111 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 03:35:35,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:35,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:35,111 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:35,111 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:35,111 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 03:35:35,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 94 transitions. [2022-04-08 03:35:35,112 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 94 transitions. Word has length 65 [2022-04-08 03:35:35,113 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:35,113 INFO L478 AbstractCegarLoop]: Abstraction has 77 states and 94 transitions. [2022-04-08 03:35:35,113 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 03:35:35,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 94 transitions. [2022-04-08 03:35:35,236 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 03:35:35,237 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 94 transitions. [2022-04-08 03:35:35,237 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 03:35:35,237 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:35,237 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 03:35:35,255 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-08 03:35:35,437 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 03:35:35,438 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:35,438 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:35,438 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 27 times [2022-04-08 03:35:35,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:35,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1353887200] [2022-04-08 03:35:35,441 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:35,441 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:35,441 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:35,441 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 28 times [2022-04-08 03:35:35,441 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:35,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192010064] [2022-04-08 03:35:35,441 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:35,441 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:35,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:35,491 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:35,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:35,500 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 03:35:35,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:35,501 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:35,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:35,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:35,563 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 03:35:35,564 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 03:35:35,564 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 03:35:35,564 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 03:35:35,564 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 03:35:35,565 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 03:35:35,565 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 03:35:35,565 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 03:35:35,566 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 03:35:35,566 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 03:35:35,566 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 03:35:35,566 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 03:35:35,567 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 03:35:35,567 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 03:35:35,567 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 03:35:35,568 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 03:35:35,568 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 03:35:35,568 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 03:35:35,569 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 03:35:35,569 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 03:35:35,569 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 03:35:35,569 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 03:35:35,570 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 03:35:35,570 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 03:35:35,570 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 03:35:35,570 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 03:35:35,571 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 03:35:35,571 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 03:35:35,571 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 03:35:35,572 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 03:35:35,572 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 03:35:35,572 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 03:35:35,572 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 03:35:35,573 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 03:35:35,573 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 03:35:35,573 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 03:35:35,573 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 03:35:35,574 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 03:35:35,574 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 03:35:35,574 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 03:35:35,574 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 03:35:35,575 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 03:35:35,575 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 03:35:35,575 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 03:35:35,575 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 03:35:35,576 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 03:35:35,576 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 03:35:35,576 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 03:35:35,577 INFO L290 TraceCheckUtils]: 48: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-08 03:35:35,577 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-08 03:35:35,578 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 03:35:35,578 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 03:35:35,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:35,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:35,579 INFO L272 TraceCheckUtils]: 4: Hoare triple {11707#(<= 5 ~n~0)} call #t~ret10 := main(); {11707#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:35,579 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 03:35:35,580 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 03:35:35,580 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 03:35:35,580 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 03:35:35,580 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 03:35:35,581 INFO L290 TraceCheckUtils]: 10: Hoare triple {11707#(<= 5 ~n~0)} assume !(~i~1 >= 0); {11707#(<= 5 ~n~0)} is VALID [2022-04-08 03:35:35,581 INFO L272 TraceCheckUtils]: 11: Hoare triple {11707#(<= 5 ~n~0)} call SelectionSort(); {11759#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:35,581 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 03:35:35,582 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 03:35:35,582 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 03:35:35,582 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 03:35:35,582 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 03:35:35,583 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 03:35:35,583 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 03:35:35,583 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 03:35:35,583 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 03:35:35,584 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 03:35:35,584 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 03:35:35,584 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 03:35:35,584 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 03:35:35,585 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 03:35:35,585 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 03:35:35,585 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 03:35:35,585 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 03:35:35,586 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 03:35:35,586 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 03:35:35,586 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 03:35:35,586 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 03:35:35,587 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 03:35:35,587 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 03:35:35,587 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 03:35:35,587 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 03:35:35,588 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 03:35:35,588 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 03:35:35,588 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 03:35:35,588 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 03:35:35,589 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 03:35:35,589 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 03:35:35,589 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 03:35:35,589 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 03:35:35,590 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 03:35:35,590 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 03:35:35,590 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 03:35:35,590 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 03:35:35,591 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 03:35:35,591 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 03:35:35,591 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 03:35:35,591 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 03:35:35,592 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 03:35:35,592 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 03:35:35,592 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 03:35:35,592 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 03:35:35,593 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 03:35:35,593 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 03:35:35,593 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 03:35:35,594 INFO L290 TraceCheckUtils]: 60: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-08 03:35:35,594 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-08 03:35:35,594 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-08 03:35:35,594 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 03:35:35,594 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 03:35:35,594 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-08 03:35:35,594 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-08 03:35:35,594 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-08 03:35:35,595 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 03:35:35,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:35,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1192010064] [2022-04-08 03:35:35,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1192010064] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:35,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2083993796] [2022-04-08 03:35:35,595 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:35,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:35,595 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:35,596 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 03:35:35,625 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 03:35:35,681 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:35,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:35,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 03:35:35,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:35,696 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:36,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-08 03:35:36,013 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 03:35:36,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-08 03:35:36,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-08 03:35:36,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-08 03:35:36,013 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 03:35:36,013 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 03:35:36,013 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 03:35:36,013 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 03:35:36,013 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 03:35:36,013 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-08 03:35:36,013 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-08 03:35:36,013 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 03:35:36,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 03:35:36,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 03:35:36,014 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 03:35:36,015 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 03:35:36,015 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 03:35:36,016 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 03:35:36,016 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 03:35:36,016 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 03:35:36,017 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 03:35:36,017 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 03:35:36,018 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 03:35:36,018 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 03:35:36,018 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 03:35:36,019 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 03:35:36,019 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 03:35:36,019 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 03:35:36,020 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 03:35:36,020 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 03:35:36,020 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 03:35:36,020 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 03:35:36,021 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 03:35:36,021 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 03:35:36,021 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 03:35:36,021 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 03:35:36,022 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 03:35:36,022 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 03:35:36,022 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 03:35:36,023 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 03:35:36,023 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 03:35:36,023 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 03:35:36,024 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 03:35:36,024 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 03:35:36,024 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 03:35:36,025 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 03:35:36,025 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 03:35:36,025 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 03:35:36,025 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 03:35:36,026 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 03:35:36,026 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 03:35:36,027 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 03:35:36,027 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 03:35:36,027 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 03:35:36,027 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 03:35:36,028 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 03:35:36,028 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 03:35:36,028 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 03:35:36,029 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-08 03:35:36,029 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-08 03:35:36,029 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-08 03:35:36,029 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-08 03:35:36,029 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 03:35:36,029 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 03:35:36,029 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-08 03:35:36,029 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-08 03:35:36,029 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-08 03:35:36,030 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 03:35:36,030 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:36,306 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-08 03:35:36,306 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-08 03:35:36,306 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-08 03:35:36,306 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 03:35:36,306 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 03:35:36,306 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-08 03:35:36,306 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-08 03:35:36,307 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-08 03:35:36,307 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-08 03:35:36,307 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 03:35:36,308 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 03:35:36,308 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 03:35:36,308 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 03:35:36,308 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 03:35:36,309 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 03:35:36,309 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 03:35:36,309 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 03:35:36,310 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 03:35:36,310 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 03:35:36,310 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 03:35:36,311 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 03:35:36,311 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 03:35:36,311 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 03:35:36,311 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 03:35:36,312 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 03:35:36,312 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 03:35:36,312 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 03:35:36,313 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 03:35:36,313 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 03:35:36,313 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 03:35:36,314 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 03:35:36,314 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 03:35:36,314 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 03:35:36,314 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 03:35:36,315 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 03:35:36,315 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 03:35:36,315 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 03:35:36,315 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 03:35:36,316 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 03:35:36,316 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 03:35:36,316 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 03:35:36,317 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 03:35:36,317 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 03:35:36,317 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 03:35:36,318 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 03:35:36,318 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 03:35:36,319 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 03:35:36,319 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 03:35:36,319 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 03:35:36,320 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 03:35:36,320 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 03:35:36,320 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 03:35:36,320 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 03:35:36,321 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 03:35:36,321 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 03:35:36,321 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 03:35:36,321 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-08 03:35:36,321 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-08 03:35:36,321 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 03:35:36,322 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 03:35:36,322 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 03:35:36,322 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 03:35:36,322 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 03:35:36,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-08 03:35:36,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-08 03:35:36,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-08 03:35:36,322 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 03:35:36,322 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-08 03:35:36,322 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 03:35:36,323 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2083993796] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:36,323 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:36,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-08 03:35:36,323 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:36,323 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1353887200] [2022-04-08 03:35:36,323 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1353887200] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:36,323 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:36,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 03:35:36,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2144803432] [2022-04-08 03:35:36,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:36,324 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 03:35:36,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:36,324 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 03:35:36,354 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 03:35:36,354 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 03:35:36,354 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:36,354 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 03:35:36,354 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-08 03:35:36,355 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 03:35:36,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:36,995 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-08 03:35:36,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 03:35:36,995 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 03:35:36,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:36,995 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 03:35:36,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-08 03:35:36,996 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 03:35:36,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-08 03:35:36,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 88 transitions. [2022-04-08 03:35:37,072 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 03:35:37,073 INFO L225 Difference]: With dead ends: 104 [2022-04-08 03:35:37,073 INFO L226 Difference]: Without dead ends: 91 [2022-04-08 03:35:37,073 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 03:35:37,074 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 164 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 164 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 178 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:37,074 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.1s Time] [2022-04-08 03:35:37,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-08 03:35:37,229 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-08 03:35:37,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:37,230 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 03:35:37,230 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 03:35:37,230 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 03:35:37,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:37,231 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-08 03:35:37,231 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-08 03:35:37,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:37,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:37,232 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 03:35:37,232 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 03:35:37,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:37,233 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-08 03:35:37,233 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-08 03:35:37,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:37,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:37,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:37,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:37,233 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 03:35:37,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 102 transitions. [2022-04-08 03:35:37,234 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 102 transitions. Word has length 68 [2022-04-08 03:35:37,235 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:37,235 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 102 transitions. [2022-04-08 03:35:37,235 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 03:35:37,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 102 transitions. [2022-04-08 03:35:37,387 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 03:35:37,387 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 102 transitions. [2022-04-08 03:35:37,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-08 03:35:37,387 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:37,387 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 03:35:37,406 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 03:35:37,588 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 03:35:37,588 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:37,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:37,588 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 29 times [2022-04-08 03:35:37,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:37,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2021469373] [2022-04-08 03:35:37,591 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:37,591 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:37,591 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:37,591 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 30 times [2022-04-08 03:35:37,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:37,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1301699223] [2022-04-08 03:35:37,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:37,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:37,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:37,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:37,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:37,644 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 03:35:37,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 03:35:37,644 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 03:35:37,647 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 03:35:37,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:37,665 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 03:35:37,665 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 03:35:37,665 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 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 03:35:37,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,666 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 03:35:37,666 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 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 03:35:37,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,667 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 03:35:37,667 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,668 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 03:35:37,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,669 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 03:35:37,669 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 03:35:37,669 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 03:35:37,669 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,669 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 03:35:37,669 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 03:35:37,669 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,669 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 03:35:37,669 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 03:35:37,670 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 03:35:37,670 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 03:35:37,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 03:35:37,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 03:35:37,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-08 03:35:37,671 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 03:35:37,671 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 03:35:37,671 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 03:35:37,671 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 03:35:37,672 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 03:35:37,672 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-08 03:35:37,672 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12821#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:37,672 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 03:35:37,672 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 03:35:37,672 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 03:35:37,672 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 03:35:37,672 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,673 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,674 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 03:35:37,675 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 03:35:37,675 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 03:35:37,675 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 03:35:37,675 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 03:35:37,675 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,675 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 03:35:37,675 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 03:35:37,675 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 03:35:37,675 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 03:35:37,675 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 03:35:37,675 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 03:35:37,675 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,675 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 03:35:37,675 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 03:35:37,675 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 03:35:37,676 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,676 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 03:35:37,676 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 03:35:37,676 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:37,676 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 03:35:37,676 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 03:35:37,676 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-08 03:35:37,676 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 03:35:37,676 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 03:35:37,676 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-08 03:35:37,676 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-08 03:35:37,676 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-08 03:35:37,677 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 03:35:37,677 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:37,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1301699223] [2022-04-08 03:35:37,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1301699223] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:37,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1421723225] [2022-04-08 03:35:37,677 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:37,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:37,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:37,678 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 03:35:37,689 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 03:35:37,776 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 03:35:37,776 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:37,777 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:37,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:37,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:37,900 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-08 03:35:37,901 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 03:35:37,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 03:35:37,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 03:35:37,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-08 03:35:37,901 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {12763#(<= 4 main_~i~1)} is VALID [2022-04-08 03:35:37,902 INFO L290 TraceCheckUtils]: 6: Hoare triple {12763#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12763#(<= 4 main_~i~1)} is VALID [2022-04-08 03:35:37,902 INFO L290 TraceCheckUtils]: 7: Hoare triple {12763#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12764#(<= 3 main_~i~1)} is VALID [2022-04-08 03:35:37,902 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 03:35:37,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {12764#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12765#(<= 2 main_~i~1)} is VALID [2022-04-08 03:35:37,903 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-08 03:35:37,903 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12759#false} is VALID [2022-04-08 03:35:37,903 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 03:35:37,903 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 03:35:37,903 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 03:35:37,903 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 03:35:37,903 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 INFO L290 TraceCheckUtils]: 26: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,904 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 INFO L290 TraceCheckUtils]: 39: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,905 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 03:35:37,906 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 03:35:37,906 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 03:35:37,906 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 03:35:37,906 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 03:35:37,906 INFO L290 TraceCheckUtils]: 49: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 03:35:37,906 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 03:35:37,906 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 03:35:37,906 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 03:35:37,906 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 03:35:37,906 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 03:35:37,906 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 03:35:37,906 INFO L290 TraceCheckUtils]: 56: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 03:35:37,906 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 03:35:37,906 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 03:35:37,907 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 03:35:37,907 INFO L290 TraceCheckUtils]: 60: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-08 03:35:37,907 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 03:35:37,907 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 03:35:37,907 INFO L290 TraceCheckUtils]: 63: Hoare triple {12759#false} assume !(~lh~0 < ~n~0); {12759#false} is VALID [2022-04-08 03:35:37,907 INFO L290 TraceCheckUtils]: 64: Hoare triple {12759#false} assume true; {12759#false} is VALID [2022-04-08 03:35:37,907 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12759#false} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 03:35:37,907 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-08 03:35:37,907 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 03:35:37,907 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 03:35:37,907 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-08 03:35:37,907 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-08 03:35:37,907 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-08 03:35:37,908 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 03:35:37,908 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:38,040 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-08 03:35:38,040 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-08 03:35:38,040 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-08 03:35:38,040 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 03:35:38,040 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 03:35:38,040 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-08 03:35:38,041 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-08 03:35:38,041 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 03:35:38,041 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:38,041 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 03:35:38,041 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 03:35:38,041 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:38,041 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 03:35:38,041 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 03:35:38,041 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 03:35:38,041 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:38,041 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 03:35:38,041 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 03:35:38,041 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,042 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 03:35:38,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:38,055 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 03:35:38,055 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 03:35:38,055 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 03:35:38,055 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 03:35:38,055 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-08 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,056 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 03:35:38,057 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 03:35:38,057 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 03:35:38,057 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 03:35:38,057 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 03:35:38,057 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 03:35:38,057 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 03:35:38,057 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 03:35:38,057 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 03:35:38,057 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12758#true} is VALID [2022-04-08 03:35:38,059 INFO L290 TraceCheckUtils]: 10: Hoare triple {13221#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-08 03:35:38,060 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 03:35:38,060 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 03:35:38,060 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 03:35:38,061 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 03:35:38,061 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 03:35:38,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-08 03:35:38,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-08 03:35:38,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-08 03:35:38,061 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 03:35:38,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-08 03:35:38,062 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 03:35:38,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1421723225] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:38,062 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:38,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 9 [2022-04-08 03:35:38,062 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:38,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2021469373] [2022-04-08 03:35:38,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2021469373] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:38,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:38,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 03:35:38,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [188774561] [2022-04-08 03:35:38,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:38,063 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 03:35:38,063 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:38,063 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 03:35:38,083 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 03:35:38,083 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 03:35:38,084 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:38,084 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 03:35:38,084 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-08 03:35:38,084 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 03:35:38,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:38,492 INFO L93 Difference]: Finished difference Result 158 states and 196 transitions. [2022-04-08 03:35:38,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 03:35:38,492 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 03:35:38,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:38,492 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 03:35:38,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-08 03:35:38,493 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 03:35:38,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-08 03:35:38,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-04-08 03:35:38,543 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 03:35:38,544 INFO L225 Difference]: With dead ends: 158 [2022-04-08 03:35:38,544 INFO L226 Difference]: Without dead ends: 86 [2022-04-08 03:35:38,544 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 03:35:38,545 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 03:35:38,545 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 03:35:38,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-08 03:35:38,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 85. [2022-04-08 03:35:38,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:38,702 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 03:35:38,703 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 03:35:38,703 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 03:35:38,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:38,704 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-08 03:35:38,704 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-08 03:35:38,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:38,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:38,704 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 03:35:38,704 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 03:35:38,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:38,705 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-08 03:35:38,705 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-08 03:35:38,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:38,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:38,706 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:38,706 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:38,706 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 03:35:38,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 104 transitions. [2022-04-08 03:35:38,707 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 104 transitions. Word has length 72 [2022-04-08 03:35:38,707 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:38,707 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 104 transitions. [2022-04-08 03:35:38,707 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 03:35:38,707 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 104 transitions. [2022-04-08 03:35:38,856 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 03:35:38,856 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 104 transitions. [2022-04-08 03:35:38,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 03:35:38,857 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:38,857 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 03:35:38,873 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 03:35:39,071 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 03:35:39,071 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:39,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:39,071 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 31 times [2022-04-08 03:35:39,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:39,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [190743676] [2022-04-08 03:35:39,074 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:39,074 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:39,075 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:39,075 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 32 times [2022-04-08 03:35:39,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:39,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1273351466] [2022-04-08 03:35:39,075 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:39,075 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:39,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:39,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:39,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:39,135 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 03:35:39,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 03:35:39,135 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 03:35:39,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 03:35:39,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,157 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 INFO L290 TraceCheckUtils]: 14: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,158 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,159 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 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 03:35:39,159 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,159 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 03:35:39,160 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 03:35:39,160 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 03:35:39,160 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 03:35:39,160 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 03:35:39,160 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 03:35:39,160 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,160 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 03:35:39,160 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 03:35:39,160 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 03:35:39,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,160 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 03:35:39,160 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 03:35:39,160 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,160 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 03:35:39,161 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 03:35:39,161 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 03:35:39,161 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 03:35:39,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 03:35:39,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 03:35:39,161 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-08 03:35:39,162 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 03:35:39,162 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 03:35:39,163 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 03:35:39,163 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 03:35:39,163 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 03:35:39,163 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 03:35:39,164 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 03:35:39,164 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-08 03:35:39,164 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13988#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:39,164 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 03:35:39,164 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 03:35:39,164 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 03:35:39,164 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 03:35:39,164 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,165 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,166 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 03:35:39,167 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 03:35:39,167 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 03:35:39,167 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 03:35:39,167 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,167 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 03:35:39,167 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 03:35:39,167 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 03:35:39,167 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 03:35:39,167 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 03:35:39,167 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 03:35:39,167 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,167 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 03:35:39,167 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 03:35:39,167 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 03:35:39,168 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,168 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 03:35:39,168 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 03:35:39,168 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,168 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 03:35:39,168 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 03:35:39,168 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-08 03:35:39,168 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 03:35:39,168 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 03:35:39,168 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-08 03:35:39,168 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-08 03:35:39,168 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-08 03:35:39,169 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 03:35:39,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:39,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1273351466] [2022-04-08 03:35:39,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1273351466] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:39,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2120875449] [2022-04-08 03:35:39,169 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:39,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:39,169 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:39,170 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 03:35:39,171 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 03:35:39,262 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:39,262 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:39,263 INFO L263 TraceCheckSpWp]: Trace formula consists of 309 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 03:35:39,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:39,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:39,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-08 03:35:39,413 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 03:35:39,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 03:35:39,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 03:35:39,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-08 03:35:39,414 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 03:35:39,414 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 03:35:39,415 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 03:35:39,415 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 03:35:39,415 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 03:35:39,416 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 03:35:39,416 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 03:35:39,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-08 03:35:39,417 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13925#false} is VALID [2022-04-08 03:35:39,417 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 03:35:39,417 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 03:35:39,417 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 03:35:39,417 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 03:35:39,417 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 03:35:39,417 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 03:35:39,425 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 03:35:39,425 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 03:35:39,425 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 03:35:39,425 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 03:35:39,425 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 03:35:39,435 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 03:35:39,435 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 03:35:39,435 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 03:35:39,435 INFO L290 TraceCheckUtils]: 28: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 03:35:39,435 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 03:35:39,435 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,436 INFO L290 TraceCheckUtils]: 41: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 03:35:39,436 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 03:35:39,436 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 03:35:39,436 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 INFO L290 TraceCheckUtils]: 51: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 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 03:35:39,437 INFO L290 TraceCheckUtils]: 58: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 03:35:39,438 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 03:35:39,438 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 03:35:39,438 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 03:35:39,438 INFO L290 TraceCheckUtils]: 62: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-08 03:35:39,438 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 03:35:39,438 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 03:35:39,438 INFO L290 TraceCheckUtils]: 65: Hoare triple {13925#false} assume !(~lh~0 < ~n~0); {13925#false} is VALID [2022-04-08 03:35:39,438 INFO L290 TraceCheckUtils]: 66: Hoare triple {13925#false} assume true; {13925#false} is VALID [2022-04-08 03:35:39,438 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13925#false} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 03:35:39,438 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-08 03:35:39,438 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 03:35:39,438 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 03:35:39,438 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-08 03:35:39,438 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-08 03:35:39,439 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-08 03:35:39,439 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 03:35:39,439 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:39,580 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-08 03:35:39,580 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-08 03:35:39,580 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-08 03:35:39,581 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 03:35:39,581 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 03:35:39,581 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-08 03:35:39,581 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-08 03:35:39,581 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 03:35:39,581 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,581 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 03:35:39,581 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 03:35:39,581 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,581 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 03:35:39,581 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 03:35:39,581 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 03:35:39,581 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,581 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,582 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 03:35:39,583 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,583 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 03:35:39,584 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-08 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,584 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 03:35:39,585 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13924#true} is VALID [2022-04-08 03:35:39,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {14394#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-08 03:35:39,585 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 03:35:39,585 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 03:35:39,586 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 03:35:39,586 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 03:35:39,586 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 03:35:39,587 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 03:35:39,587 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 03:35:39,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-08 03:35:39,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-08 03:35:39,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-08 03:35:39,587 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 03:35:39,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-08 03:35:39,588 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 03:35:39,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2120875449] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:39,588 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:39,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 9 [2022-04-08 03:35:39,588 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:39,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [190743676] [2022-04-08 03:35:39,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [190743676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:39,588 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:39,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 03:35:39,588 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [406713416] [2022-04-08 03:35:39,588 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:39,589 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 03:35:39,589 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:39,589 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 03:35:39,607 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 03:35:39,607 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 03:35:39,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:39,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 03:35:39,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-08 03:35:39,607 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 03:35:39,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:39,975 INFO L93 Difference]: Finished difference Result 160 states and 198 transitions. [2022-04-08 03:35:39,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 03:35:39,975 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 03:35:39,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:39,975 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 03:35:39,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-08 03:35:39,976 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 03:35:39,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-08 03:35:39,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 73 transitions. [2022-04-08 03:35:40,064 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 03:35:40,066 INFO L225 Difference]: With dead ends: 160 [2022-04-08 03:35:40,066 INFO L226 Difference]: Without dead ends: 88 [2022-04-08 03:35:40,066 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 03:35:40,066 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 03:35:40,067 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 03:35:40,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-08 03:35:40,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-08 03:35:40,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:40,238 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 03:35:40,238 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 03:35:40,239 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 03:35:40,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:40,240 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-08 03:35:40,240 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-08 03:35:40,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:40,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:40,240 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 03:35:40,240 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 03:35:40,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:40,241 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-08 03:35:40,241 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-08 03:35:40,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:40,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:40,241 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:40,241 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:40,242 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 03:35:40,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 106 transitions. [2022-04-08 03:35:40,242 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 106 transitions. Word has length 74 [2022-04-08 03:35:40,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:40,243 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 106 transitions. [2022-04-08 03:35:40,243 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 03:35:40,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 106 transitions. [2022-04-08 03:35:40,387 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 03:35:40,387 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 106 transitions. [2022-04-08 03:35:40,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-08 03:35:40,388 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:40,388 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 03:35:40,407 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 03:35:40,588 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 03:35:40,588 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:40,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:40,589 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 33 times [2022-04-08 03:35:40,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:40,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1669151909] [2022-04-08 03:35:40,591 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:40,591 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:40,591 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:40,591 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 34 times [2022-04-08 03:35:40,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:40,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [869543465] [2022-04-08 03:35:40,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:40,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:40,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:40,654 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:40,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:40,657 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 03:35:40,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 03:35:40,658 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 03:35:40,661 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 03:35:40,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:40,682 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 03:35:40,682 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 03:35:40,682 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 03:35:40,682 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 03:35:40,682 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 03:35:40,682 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 03:35:40,683 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 03:35:40,683 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 03:35:40,683 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 03:35:40,683 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 03:35:40,683 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 03:35:40,689 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 03:35:40,689 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 03:35:40,689 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 03:35:40,689 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,689 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 03:35:40,689 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,690 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 INFO L290 TraceCheckUtils]: 37: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,691 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 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 03:35:40,691 INFO L290 TraceCheckUtils]: 44: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,691 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 03:35:40,692 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 03:35:40,692 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 03:35:40,692 INFO L290 TraceCheckUtils]: 48: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,692 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 03:35:40,692 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 03:35:40,692 INFO L290 TraceCheckUtils]: 51: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,692 INFO L290 TraceCheckUtils]: 52: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 03:35:40,692 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-08 03:35:40,693 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 03:35:40,693 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 03:35:40,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 03:35:40,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 03:35:40,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-08 03:35:40,693 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 03:35:40,694 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 03:35:40,694 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 03:35:40,694 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 03:35:40,695 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 03:35:40,695 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 03:35:40,695 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 03:35:40,695 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 03:35:40,696 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 03:35:40,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {15125#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {15117#false} is VALID [2022-04-08 03:35:40,696 INFO L272 TraceCheckUtils]: 15: Hoare triple {15117#false} call SelectionSort(); {15181#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:35:40,696 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 03:35:40,696 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 03:35:40,696 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 03:35:40,696 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 03:35:40,696 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 03:35:40,696 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,697 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 INFO L290 TraceCheckUtils]: 43: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,698 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 03:35:40,699 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 03:35:40,699 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 03:35:40,699 INFO L290 TraceCheckUtils]: 53: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,699 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 03:35:40,699 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 03:35:40,699 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 03:35:40,699 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 03:35:40,699 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 03:35:40,699 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 03:35:40,699 INFO L290 TraceCheckUtils]: 60: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,699 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 03:35:40,699 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 03:35:40,699 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 03:35:40,699 INFO L290 TraceCheckUtils]: 64: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,700 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 03:35:40,700 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 03:35:40,700 INFO L290 TraceCheckUtils]: 67: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:40,700 INFO L290 TraceCheckUtils]: 68: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 03:35:40,700 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-08 03:35:40,700 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-08 03:35:40,700 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 03:35:40,700 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 03:35:40,700 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-08 03:35:40,700 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-08 03:35:40,700 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-08 03:35:40,701 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 03:35:40,701 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:40,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [869543465] [2022-04-08 03:35:40,701 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [869543465] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:40,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1986007853] [2022-04-08 03:35:40,701 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:40,701 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:40,701 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:40,702 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 03:35:40,727 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 03:35:40,797 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:40,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:40,799 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 03:35:40,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:40,817 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:41,502 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-08 03:35:41,502 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 03:35:41,730 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-08 03:35:41,730 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 03:35:41,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-08 03:35:41,802 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 03:35:41,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 03:35:41,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 03:35:41,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-08 03:35:41,802 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 03:35:41,802 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 03:35:41,802 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 03:35:41,802 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 03:35:41,802 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 03:35:41,803 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 03:35:41,803 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 03:35:41,803 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 03:35:41,803 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 03:35:41,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-08 03:35:41,803 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-08 03:35:41,803 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 03:35:41,804 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 03:35:41,804 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 03:35:41,804 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 03:35:41,805 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 03:35:41,805 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 03:35:41,805 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 03:35:41,806 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 03:35:41,806 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 03:35:41,807 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 03:35:41,807 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 03:35:41,807 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 03:35:41,807 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 03:35:41,808 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 03:35:41,808 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 03:35:41,808 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 03:35:41,808 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 03:35:41,809 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 03:35:41,809 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 03:35:41,810 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 03:35:41,810 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 03:35:41,811 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 03:35:41,812 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 03:35:41,812 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 03:35:41,813 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 03:35:41,814 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 03:35:41,814 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 03:35:41,815 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 03:35:41,816 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 03:35:41,817 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 03:35:41,817 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 03:35:41,818 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 03:35:41,818 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 03:35:41,819 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 03:35:41,819 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 03:35:41,820 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 03:35:41,820 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 03:35:41,820 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:41,820 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 03:35:41,820 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 03:35:41,820 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 03:35:41,820 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 03:35:41,820 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 03:35:41,820 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 03:35:41,820 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:41,820 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 03:35:41,820 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 03:35:41,820 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 03:35:41,820 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:41,821 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 03:35:41,821 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 03:35:41,821 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:41,821 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-08 03:35:41,821 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-08 03:35:41,821 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-08 03:35:41,821 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 03:35:41,821 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 03:35:41,821 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-08 03:35:41,821 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-08 03:35:41,821 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-08 03:35:41,822 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 03:35:41,822 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:43,553 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 03:35:43,708 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-08 03:35:43,708 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 03:35:45,431 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-08 03:35:45,432 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-08 03:35:45,432 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-08 03:35:45,432 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 03:35:45,432 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 03:35:45,432 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-08 03:35:45,432 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-08 03:35:45,432 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-08 03:35:45,432 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:45,432 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 03:35:45,432 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 03:35:45,432 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:45,432 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 03:35:45,432 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 03:35:45,432 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 03:35:45,433 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:45,433 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 03:35:45,433 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 03:35:45,433 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 03:35:45,433 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 03:35:45,433 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 03:35:45,433 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 03:35:45,433 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-08 03:35:45,433 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 03:35:45,433 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 03:35:45,434 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 03:35:45,435 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 03:35:45,435 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 03:35:45,436 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 03:35:45,436 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 03:35:45,437 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 03:35:45,438 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 03:35:45,439 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 03:35:45,439 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 03:35:45,440 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 03:35:45,440 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 03:35:45,442 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 03:35:45,443 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 03:35:45,444 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 03:35:45,447 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 03:35:45,447 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 03:35:45,450 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-08 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,451 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-08 03:35:45,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-08 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,452 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 03:35:45,453 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 03:35:45,453 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 03:35:45,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-08 03:35:45,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-08 03:35:45,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-08 03:35:45,453 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 03:35:45,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-08 03:35:45,453 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 03:35:45,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1986007853] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:45,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:45,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 21, 16] total 42 [2022-04-08 03:35:45,454 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:45,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1669151909] [2022-04-08 03:35:45,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1669151909] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:45,454 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:45,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 03:35:45,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1021393286] [2022-04-08 03:35:45,454 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:45,454 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 03:35:45,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:45,455 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 03:35:45,474 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 03:35:45,475 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 03:35:45,475 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:45,475 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 03:35:45,475 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1580, Unknown=0, NotChecked=0, Total=1722 [2022-04-08 03:35:45,476 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 03:35:46,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:46,147 INFO L93 Difference]: Finished difference Result 177 states and 219 transitions. [2022-04-08 03:35:46,148 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 03:35:46,148 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 03:35:46,148 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:46,148 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 03:35:46,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-08 03:35:46,149 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 03:35:46,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-08 03:35:46,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 94 transitions. [2022-04-08 03:35:46,233 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 03:35:46,234 INFO L225 Difference]: With dead ends: 177 [2022-04-08 03:35:46,234 INFO L226 Difference]: Without dead ends: 105 [2022-04-08 03:35:46,235 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 123 SyntacticMatches, 0 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 607 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=201, Invalid=2151, Unknown=0, NotChecked=0, Total=2352 [2022-04-08 03:35:46,235 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 60 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:46,236 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 33 Invalid, 189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 03:35:46,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-08 03:35:46,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 89. [2022-04-08 03:35:46,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:46,432 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 03:35:46,432 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 03:35:46,432 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 03:35:46,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:46,434 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-08 03:35:46,434 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-08 03:35:46,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:46,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:46,434 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 03:35:46,434 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 03:35:46,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:46,436 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-08 03:35:46,436 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-08 03:35:46,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:46,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:46,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:46,437 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:46,437 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 03:35:46,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 108 transitions. [2022-04-08 03:35:46,438 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 108 transitions. Word has length 76 [2022-04-08 03:35:46,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:46,438 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 108 transitions. [2022-04-08 03:35:46,438 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 03:35:46,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 108 transitions. [2022-04-08 03:35:46,597 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 03:35:46,597 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-08 03:35:46,597 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-08 03:35:46,597 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:46,598 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 03:35:46,617 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 03:35:46,798 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 03:35:46,798 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:46,798 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:46,799 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 35 times [2022-04-08 03:35:46,799 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:46,799 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [622082180] [2022-04-08 03:35:46,801 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:46,801 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:46,801 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:46,801 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 36 times [2022-04-08 03:35:46,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:46,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [20450688] [2022-04-08 03:35:46,802 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:46,802 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:46,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:47,156 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:47,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:47,168 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 03:35:47,169 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 03:35:47,169 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 03:35:47,181 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:35:47,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:47,236 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 03:35:47,237 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 03:35:47,237 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 03:35:47,238 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 03:35:47,238 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 03:35:47,238 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 03:35:47,239 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 03:35:47,239 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 03:35:47,239 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 03:35:47,240 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 03:35:47,240 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 03:35:47,240 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 03:35:47,240 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 03:35:47,241 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 03:35:47,241 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 03:35:47,242 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 03:35:47,242 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 03:35:47,242 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 03:35:47,242 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 03:35:47,243 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 03:35:47,243 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 03:35:47,243 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 03:35:47,243 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 03:35:47,243 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 03:35:47,244 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 03:35:47,244 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 03:35:47,244 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 03:35:47,244 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 03:35:47,245 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 03:35:47,245 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 03:35:47,245 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 03:35:47,246 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 03:35:47,246 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 03:35:47,246 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 03:35:47,246 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 03:35:47,247 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 03:35:47,247 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 03:35:47,247 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 03:35:47,248 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 03:35:47,248 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 03:35:47,248 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 03:35:47,248 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 03:35:47,249 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 03:35:47,249 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 03:35:47,249 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 03:35:47,250 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 03:35:47,250 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 03:35:47,250 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 03:35:47,250 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 03:35:47,251 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 03:35:47,251 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 03:35:47,251 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 03:35:47,252 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 03:35:47,252 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 03:35:47,253 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 03:35:47,254 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 03:35:47,254 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 03:35:47,254 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 03:35:47,255 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 03:35:47,255 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 03:35:47,255 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 03:35:47,256 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 03:35:47,256 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 03:35:47,257 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 03:35:47,257 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 03:35:47,257 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 03:35:47,258 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 03:35:47,258 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 03:35:47,259 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 03:35:47,259 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 03:35:47,260 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 03:35:47,260 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 03:35:47,260 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 03:35:47,261 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 03:35:47,267 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 03:35:47,268 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 03:35:47,268 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 03:35:47,268 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 03:35:47,269 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 03:35:47,269 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 03:35:47,269 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 03:35:47,270 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 03:35:47,270 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 03:35:47,270 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 03:35:47,271 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 03:35:47,271 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 03:35:47,271 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 03:35:47,272 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 03:35:47,272 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 03:35:47,272 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 03:35:47,273 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 03:35:47,273 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 03:35:47,273 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 03:35:47,273 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 03:35:47,274 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 03:35:47,274 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 03:35:47,274 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 03:35:47,274 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 03:35:47,275 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 03:35:47,275 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 03:35:47,275 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 03:35:47,276 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 03:35:47,276 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 03:35:47,276 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 03:35:47,276 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 03:35:47,277 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 03:35:47,277 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 03:35:47,277 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 03:35:47,277 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 03:35:47,278 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 03:35:47,278 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 03:35:47,278 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 03:35:47,279 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 03:35:47,279 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 03:35:47,279 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 03:35:47,279 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 03:35:47,280 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 03:35:47,280 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 03:35:47,280 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 03:35:47,281 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 03:35:47,281 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 03:35:47,281 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 03:35:47,282 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 03:35:47,282 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 03:35:47,282 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 03:35:47,283 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 03:35:47,283 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 03:35:47,284 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 03:35:47,284 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 03:35:47,284 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 03:35:47,285 INFO L290 TraceCheckUtils]: 76: Hoare triple {16498#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {16428#false} is VALID [2022-04-08 03:35:47,285 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-08 03:35:47,285 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 03:35:47,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:47,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [20450688] [2022-04-08 03:35:47,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [20450688] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:47,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [865061712] [2022-04-08 03:35:47,285 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:47,286 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:47,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:47,286 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 03:35:47,287 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 03:35:47,446 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-08 03:35:47,446 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:47,448 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 03:35:47,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:47,464 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:47,494 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:35:47,494 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 03:35:47,573 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 03:35:48,284 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 03:35:48,495 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-08 03:35:48,495 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 03:35:48,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {16427#true} call ULTIMATE.init(); {16427#true} is VALID [2022-04-08 03:35:48,626 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 03:35:48,626 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 03:35:48,627 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 03:35:48,627 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 03:35:48,627 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 03:35:48,628 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 03:35:48,628 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 03:35:48,628 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 03:35:48,629 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 03:35:48,629 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 03:35:48,630 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 03:35:48,630 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 03:35:48,630 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 03:35:48,631 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 03:35:48,632 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 03:35:48,633 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 03:35:48,633 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 03:35:48,634 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 03:35:48,634 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 03:35:48,634 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 03:35:48,635 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 03:35:48,635 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 03:35:48,636 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 03:35:48,636 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 03:35:48,636 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 03:35:48,637 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 03:35:48,637 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 03:35:48,637 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 03:35:48,638 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 03:35:48,638 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 03:35:48,638 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 03:35:48,639 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 03:35:48,639 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 03:35:48,640 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 03:35:48,640 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 03:35:48,641 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 03:35:48,641 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 03:35:48,642 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 03:35:48,642 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 03:35:48,643 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 03:35:48,643 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 03:35:48,644 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 03:35:48,644 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 03:35:48,645 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 03:35:48,645 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 03:35:48,647 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 03:35:48,647 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 03:35:48,648 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 03:35:48,648 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 03:35:48,649 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 03:35:48,649 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 03:35:48,650 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 03:35:48,650 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 03:35:48,651 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 03:35:48,651 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 03:35:48,652 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 03:35:48,653 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 03:35:48,653 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 03:35:48,654 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 03:35:48,661 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 03:35:48,661 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 03:35:48,662 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 03:35:48,663 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 03:35:48,664 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 03:35:48,664 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 03:35:48,665 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 03:35:48,666 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 03:35:48,666 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 03:35:48,667 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 03:35:48,667 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 03:35:48,669 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 03:35:48,669 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 03:35:48,670 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 03:35:48,670 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 03:35:48,671 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 03:35:48,671 INFO L290 TraceCheckUtils]: 76: Hoare triple {16740#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16428#false} is VALID [2022-04-08 03:35:48,671 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-08 03:35:48,672 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 03:35:48,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:48,789 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 03:35:48,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [865061712] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:48,790 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:35:48,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 29 [2022-04-08 03:35:48,791 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:48,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [622082180] [2022-04-08 03:35:48,791 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [622082180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:48,791 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:48,791 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 03:35:48,791 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1433340743] [2022-04-08 03:35:48,791 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:48,792 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 03:35:48,792 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:48,792 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 03:35:48,819 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 03:35:48,819 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 03:35:48,819 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:48,819 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 03:35:48,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=826, Unknown=7, NotChecked=58, Total=992 [2022-04-08 03:35:48,820 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 03:35:50,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:50,448 INFO L93 Difference]: Finished difference Result 112 states and 134 transitions. [2022-04-08 03:35:50,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 03:35:50,448 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 03:35:50,449 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:50,449 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 03:35:50,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-08 03:35:50,450 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 03:35:50,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-08 03:35:50,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 75 transitions. [2022-04-08 03:35:50,633 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 03:35:50,634 INFO L225 Difference]: With dead ends: 112 [2022-04-08 03:35:50,634 INFO L226 Difference]: Without dead ends: 110 [2022-04-08 03:35:50,635 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 03:35:50,635 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 03:35:50,635 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 03:35:50,636 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-08 03:35:50,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 95. [2022-04-08 03:35:50,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:50,827 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 03:35:50,827 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 03:35:50,827 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 03:35:50,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:50,829 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-08 03:35:50,829 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-08 03:35:50,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:50,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:50,830 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 03:35:50,830 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 03:35:50,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:50,832 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-08 03:35:50,832 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-08 03:35:50,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:50,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:50,832 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:50,832 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:50,832 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 03:35:50,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 114 transitions. [2022-04-08 03:35:50,834 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 114 transitions. Word has length 78 [2022-04-08 03:35:50,834 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:50,834 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 114 transitions. [2022-04-08 03:35:50,834 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 03:35:50,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 114 transitions. [2022-04-08 03:35:50,999 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 03:35:50,999 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-04-08 03:35:51,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 03:35:51,000 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:51,000 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 03:35:51,033 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 03:35:51,200 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 03:35:51,201 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:51,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:51,201 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 1 times [2022-04-08 03:35:51,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:51,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [190829156] [2022-04-08 03:35:51,204 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:51,204 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:51,204 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:51,204 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 2 times [2022-04-08 03:35:51,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:51,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [382702202] [2022-04-08 03:35:51,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:51,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:51,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:51,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:51,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:51,693 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 03:35:51,694 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 03:35:51,694 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 03:35:51,706 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:35:51,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:51,793 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 03:35:51,794 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 03:35:51,794 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 03:35:51,794 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 03:35:51,795 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 03:35:51,795 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 03:35:51,795 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 03:35:51,796 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 03:35:51,796 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 03:35:51,796 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 03:35:51,797 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 03:35:51,797 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 03:35:51,797 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 03:35:51,797 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 03:35:51,798 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 03:35:51,798 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 03:35:51,799 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 03:35:51,799 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 03:35:51,799 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 03:35:51,799 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 03:35:51,800 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 03:35:51,800 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 03:35:51,800 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 03:35:51,800 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 03:35:51,801 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 03:35:51,801 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 03:35:51,801 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 03:35:51,801 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 03:35:51,802 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 03:35:51,802 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 03:35:51,802 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 03:35:51,803 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 03:35:51,803 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 03:35:51,803 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 03:35:51,803 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 03:35:51,804 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 03:35:51,804 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 03:35:51,804 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 03:35:51,805 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 03:35:51,805 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 03:35:51,805 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 03:35:51,805 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 03:35:51,806 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 03:35:51,806 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 03:35:51,806 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 03:35:51,807 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 03:35:51,807 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 03:35:51,807 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 03:35:51,807 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 03:35:51,808 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 03:35:51,808 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 03:35:51,808 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 03:35:51,808 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 03:35:51,809 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 03:35:51,810 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:35:51,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:51,812 INFO L290 TraceCheckUtils]: 0: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-08 03:35:51,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-08 03:35:51,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-08 03:35:51,813 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 03:35:51,814 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 03:35:51,814 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 03:35:51,815 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 03:35:51,815 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 03:35:51,815 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 03:35:51,816 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 03:35:51,816 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 03:35:51,817 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 03:35:51,817 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 03:35:51,818 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 03:35:51,818 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 03:35:51,819 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 03:35:51,819 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 03:35:51,820 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 03:35:51,821 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 03:35:51,821 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 03:35:51,821 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 03:35:51,822 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 03:35:51,822 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 03:35:51,822 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 03:35:51,823 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 03:35:51,823 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 03:35:51,823 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 03:35:51,824 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 03:35:51,824 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 03:35:51,824 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 03:35:51,824 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 03:35:51,825 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 03:35:51,825 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 03:35:51,825 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 03:35:51,826 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 03:35:51,826 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 03:35:51,826 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 03:35:51,827 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 03:35:51,827 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 03:35:51,827 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 03:35:51,827 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 03:35:51,828 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 03:35:51,828 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 03:35:51,828 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 03:35:51,828 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 03:35:51,829 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 03:35:51,829 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 03:35:51,829 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 03:35:51,829 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 03:35:51,829 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 03:35:51,830 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 03:35:51,830 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 03:35:51,830 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 03:35:51,831 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 03:35:51,831 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 03:35:51,831 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 03:35:51,831 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 03:35:51,832 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 03:35:51,832 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 03:35:51,832 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 03:35:51,833 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 03:35:51,833 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 03:35:51,833 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 03:35:51,833 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 03:35:51,834 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 03:35:51,834 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 03:35:51,834 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 03:35:51,834 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 03:35:51,835 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 03:35:51,835 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 03:35:51,835 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 03:35:51,836 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 03:35:51,836 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 03:35:51,836 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 03:35:51,836 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 03:35:51,837 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 03:35:51,837 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 03:35:51,838 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 03:35:51,838 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 03:35:51,838 INFO L290 TraceCheckUtils]: 75: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-08 03:35:51,838 INFO L290 TraceCheckUtils]: 76: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-08 03:35:51,838 INFO L290 TraceCheckUtils]: 77: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-08 03:35:51,839 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 03:35:51,839 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 03:35:51,840 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 03:35:51,840 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 03:35:51,840 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 03:35:51,841 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 03:35:51,841 INFO L290 TraceCheckUtils]: 84: Hoare triple {17522#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {17447#false} is VALID [2022-04-08 03:35:51,841 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-08 03:35:51,841 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 03:35:51,842 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:51,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [382702202] [2022-04-08 03:35:51,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [382702202] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:51,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1715966402] [2022-04-08 03:35:51,842 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:51,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:51,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:51,851 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 03:35:51,852 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 03:35:51,967 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:51,967 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:51,969 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 03:35:51,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:51,997 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:52,049 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:35:52,049 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 03:35:52,186 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 03:35:52,289 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:35:52,290 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-08 03:35:52,870 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 03:35:53,297 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:35:53,297 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 03:35:53,359 INFO L272 TraceCheckUtils]: 0: Hoare triple {17446#true} call ULTIMATE.init(); {17446#true} is VALID [2022-04-08 03:35:53,360 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 03:35:53,360 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 03:35:53,361 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 03:35:53,361 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 03:35:53,362 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 03:35:53,362 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 03:35:53,362 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 03:35:53,363 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 03:35:53,363 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 03:35:53,364 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 03:35:53,364 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 03:35:53,364 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 03:35:53,365 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 03:35:53,365 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 03:35:53,366 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 03:35:53,366 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 03:35:53,367 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 03:35:53,368 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 03:35:53,368 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 03:35:53,368 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 03:35:53,369 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 03:35:53,369 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 03:35:53,369 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 03:35:53,370 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 03:35:53,370 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 03:35:53,370 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 03:35:53,371 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 03:35:53,371 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 03:35:53,371 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 03:35:53,372 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 03:35:53,372 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 03:35:53,372 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 03:35:53,373 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 03:35:53,373 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 03:35:53,374 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 03:35:53,374 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 03:35:53,375 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 03:35:53,375 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 03:35:53,375 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 03:35:53,376 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 03:35:53,376 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 03:35:53,377 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 03:35:53,377 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 03:35:53,377 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 03:35:53,378 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 03:35:53,379 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 03:35:53,380 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 03:35:53,380 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 03:35:53,380 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 03:35:53,381 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 03:35:53,381 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 03:35:53,382 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 03:35:53,382 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 03:35:53,382 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 03:35:53,383 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 03:35:53,384 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 03:35:53,384 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 03:35:53,385 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 03:35:53,385 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 03:35:53,385 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 03:35:53,386 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 03:35:53,386 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 03:35:53,387 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 03:35:53,388 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 03:35:53,388 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 03:35:53,389 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 03:35:53,390 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 03:35:53,390 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 03:35:53,391 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 03:35:53,391 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 03:35:53,392 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 03:35:53,392 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 03:35:53,392 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 03:35:53,393 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 03:35:53,393 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 03:35:53,394 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 03:35:53,394 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 03:35:53,394 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 03:35:53,395 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 03:35:53,395 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 03:35:53,396 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 03:35:53,396 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 03:35:53,396 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 03:35:53,397 INFO L290 TraceCheckUtils]: 84: Hoare triple {17793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17447#false} is VALID [2022-04-08 03:35:53,397 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-08 03:35:53,397 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 03:35:53,397 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:53,585 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 03:35:53,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1715966402] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:53,586 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:35:53,586 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 35 [2022-04-08 03:35:53,586 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:53,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [190829156] [2022-04-08 03:35:53,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [190829156] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:53,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:53,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 03:35:53,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2002514755] [2022-04-08 03:35:53,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:53,588 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 03:35:53,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:53,588 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 03:35:53,624 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 03:35:53,624 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 03:35:53,624 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:53,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 03:35:53,625 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=1348, Unknown=11, NotChecked=74, Total=1560 [2022-04-08 03:35:53,625 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 03:35:56,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:56,506 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2022-04-08 03:35:56,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 03:35:56,506 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 03:35:56,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:56,507 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 03:35:56,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-08 03:35:56,508 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 03:35:56,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-08 03:35:56,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 88 transitions. [2022-04-08 03:35:56,602 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 03:35:56,603 INFO L225 Difference]: With dead ends: 126 [2022-04-08 03:35:56,603 INFO L226 Difference]: Without dead ends: 124 [2022-04-08 03:35:56,604 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 03:35:56,605 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 03:35:56,605 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 03:35:56,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-08 03:35:56,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 103. [2022-04-08 03:35:56,888 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:56,889 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 03:35:56,889 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 03:35:56,889 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 03:35:56,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:56,892 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-08 03:35:56,892 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-08 03:35:56,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:56,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:56,892 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 03:35:56,892 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 03:35:56,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:56,893 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-08 03:35:56,894 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-08 03:35:56,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:56,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:56,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:56,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:56,909 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 03:35:56,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-08 03:35:56,910 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 86 [2022-04-08 03:35:56,910 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:56,910 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-08 03:35:56,910 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 03:35:56,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 122 transitions. [2022-04-08 03:35:57,103 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 03:35:57,103 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-08 03:35:57,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 03:35:57,103 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:57,103 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 03:35:57,122 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 03:35:57,304 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 03:35:57,304 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:57,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:57,304 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 3 times [2022-04-08 03:35:57,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:57,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [239296338] [2022-04-08 03:35:57,315 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:57,315 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:57,315 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:57,316 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 4 times [2022-04-08 03:35:57,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:57,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [52292643] [2022-04-08 03:35:57,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:57,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:57,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:57,440 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:57,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:57,448 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 03:35:57,448 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 03:35:57,449 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 03:35:57,452 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:35:57,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:58,217 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 03:35:58,218 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 03:35:58,218 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 03:35:58,219 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 03:35:58,220 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 03:35:58,220 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 03:35:58,221 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 03:35:58,221 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 03:35:58,222 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 03:35:58,223 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 03:35:58,223 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 03:35:58,224 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 03:35:58,225 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 03:35:58,225 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 03:35:58,226 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 03:35:58,227 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 03:35:58,228 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 03:35:58,229 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 03:35:58,229 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 03:35:58,230 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 03:35:58,231 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 03:35:58,231 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 03:35:58,232 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 03:35:58,233 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 03:35:58,233 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 03:35:58,233 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 03:35:58,234 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 03:35:58,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,234 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 03:35:58,234 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 03:35:58,234 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 03:35:58,234 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 03:35:58,234 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 03:35:58,234 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 03:35:58,234 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 03:35:58,234 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 03:35:58,234 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 03:35:58,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,234 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 03:35:58,234 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 03:35:58,235 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 03:35:58,235 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 03:35:58,235 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 03:35:58,235 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 03:35:58,235 INFO L290 TraceCheckUtils]: 44: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,235 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 03:35:58,235 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 03:35:58,235 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 03:35:58,235 INFO L290 TraceCheckUtils]: 48: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,235 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 03:35:58,235 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 03:35:58,235 INFO L290 TraceCheckUtils]: 51: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,235 INFO L290 TraceCheckUtils]: 52: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 03:35:58,236 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 03:35:58,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:35:58,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:58,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 03:35:58,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 03:35:58,243 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:35:58,243 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:35:58,243 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:35:58,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:58,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 03:35:58,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 03:35:58,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:35:58,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:35:58,246 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 03:35:58,246 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 03:35:58,247 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 03:35:58,247 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 03:35:58,247 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 03:35:58,248 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 03:35:58,248 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 03:35:58,248 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 03:35:58,249 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 03:35:58,249 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 03:35:58,249 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 03:35:58,250 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 03:35:58,250 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 03:35:58,250 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 03:35:58,251 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 03:35:58,251 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 03:35:58,251 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 03:35:58,252 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 03:35:58,252 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 03:35:58,252 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 03:35:58,253 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 03:35:58,253 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 03:35:58,254 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 03:35:58,255 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 03:35:58,255 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 03:35:58,260 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 03:35:58,261 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 03:35:58,262 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 03:35:58,262 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 03:35:58,263 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 03:35:58,264 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 03:35:58,264 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 03:35:58,265 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 03:35:58,266 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 03:35:58,267 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 03:35:58,268 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 03:35:58,268 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 03:35:58,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 03:35:58,269 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 03:35:58,270 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 03:35:58,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 03:35:58,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 03:35:58,272 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 03:35:58,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 03:35:58,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 03:35:58,272 INFO L290 TraceCheckUtils]: 45: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,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 03:35:58,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 03:35:58,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 03:35:58,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 03:35:58,273 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 03:35:58,273 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 03:35:58,273 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 03:35:58,273 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 03:35:58,273 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 03:35:58,273 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,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 03:35:58,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 03:35:58,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 03:35:58,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 03:35:58,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 03:35:58,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 03:35:58,273 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,273 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 03:35:58,274 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 03:35:58,274 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 03:35:58,274 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,274 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 03:35:58,274 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 03:35:58,274 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:58,274 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 03:35:58,274 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 03:35:58,274 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-08 03:35:58,274 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 03:35:58,275 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 03:35:58,275 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 03:35:58,275 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 03:35:58,275 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:35:58,275 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:35:58,275 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 03:35:58,275 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 03:35:58,275 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 03:35:58,275 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 03:35:58,275 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 03:35:58,275 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 03:35:58,275 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:35:58,275 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:35:58,275 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 03:35:58,275 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 03:35:58,276 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 03:35:58,276 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 03:35:58,276 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 03:35:58,276 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-08 03:35:58,276 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-08 03:35:58,276 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 03:35:58,276 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:58,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [52292643] [2022-04-08 03:35:58,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [52292643] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:58,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [71057867] [2022-04-08 03:35:58,288 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:58,288 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:58,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:58,289 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 03:35:58,293 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 03:35:58,393 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:58,393 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:58,395 INFO L263 TraceCheckSpWp]: Trace formula consists of 300 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 03:35:58,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:58,421 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:59,234 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-08 03:35:59,235 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 03:35:59,558 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-08 03:35:59,558 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 03:35:59,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-08 03:35:59,661 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 03:35:59,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:35:59,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-08 03:35:59,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-08 03:35:59,661 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 03:35:59,661 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 03:35:59,661 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 03:35:59,661 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 03:35:59,662 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 03:35:59,662 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 03:35:59,662 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 03:35:59,662 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 03:35:59,662 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 03:35:59,662 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 03:35:59,662 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 03:35:59,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-08 03:35:59,662 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-08 03:35:59,662 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 03:35:59,663 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 03:35:59,663 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 03:35:59,663 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 03:35:59,664 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 03:35:59,664 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 03:35:59,665 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 03:35:59,665 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 03:35:59,665 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 03:35:59,666 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 03:35:59,666 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 03:35:59,666 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 03:35:59,666 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 03:35:59,667 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 03:35:59,667 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 03:35:59,667 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 03:35:59,668 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 03:35:59,668 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 03:35:59,669 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 03:35:59,669 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 03:35:59,670 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 03:35:59,671 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 03:35:59,671 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 03:35:59,672 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 03:35:59,672 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 03:35:59,673 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 03:35:59,674 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 03:35:59,674 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 03:35:59,675 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 03:35:59,676 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 03:35:59,677 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 03:35:59,677 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 03:35:59,678 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 03:35:59,678 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 03:35:59,679 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 03:35:59,679 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 03:35:59,679 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 03:35:59,680 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:59,680 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 03:35:59,680 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 03:35:59,680 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 03:35:59,680 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 03:35:59,680 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 03:35:59,680 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 03:35:59,680 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:59,680 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 03:35:59,680 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 03:35:59,680 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 03:35:59,680 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:59,680 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 03:35:59,680 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 03:35:59,681 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:35:59,681 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 03:35:59,681 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-08 03:35:59,681 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-08 03:35:59,681 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 03:35:59,681 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 03:35:59,681 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 03:35:59,681 INFO L290 TraceCheckUtils]: 76: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-08 03:35:59,681 INFO L290 TraceCheckUtils]: 77: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 03:35:59,681 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:35:59,681 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 03:35:59,681 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 03:35:59,681 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 03:35:59,681 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 03:35:59,682 INFO L290 TraceCheckUtils]: 83: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 03:35:59,682 INFO L290 TraceCheckUtils]: 84: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-08 03:35:59,682 INFO L290 TraceCheckUtils]: 85: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 03:35:59,682 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:35:59,682 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 03:35:59,682 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 03:35:59,682 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 03:35:59,682 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 03:35:59,682 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 03:35:59,682 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-08 03:35:59,682 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-08 03:35:59,683 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 03:35:59,683 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:36:01,847 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 03:36:02,014 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-08 03:36:02,015 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 03:36:03,417 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-08 03:36:03,418 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-08 03:36:03,418 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-08 03:36:03,418 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 03:36:03,418 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 03:36:03,418 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 03:36:03,418 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 03:36:03,418 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:36:03,418 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:36:03,418 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 03:36:03,418 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 03:36:03,418 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 03:36:03,418 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 03:36:03,419 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 03:36:03,419 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-08 03:36:03,419 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-08 03:36:03,419 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:36:03,419 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-08 03:36:03,419 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-08 03:36:03,419 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 03:36:03,419 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 03:36:03,419 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-08 03:36:03,419 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-08 03:36:03,419 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-08 03:36:03,419 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:36:03,419 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 03:36:03,419 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 03:36:03,420 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:36:03,420 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 03:36:03,420 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 03:36:03,420 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 03:36:03,420 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:36:03,420 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 03:36:03,420 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 03:36:03,420 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 03:36:03,420 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 03:36:03,420 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 03:36:03,420 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 03:36:03,420 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-08 03:36:03,420 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 03:36:03,421 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 03:36:03,435 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 03:36:03,436 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 03:36:03,437 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 03:36:03,437 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 03:36:03,438 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 03:36:03,439 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 03:36:03,439 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 03:36:03,440 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 03:36:03,441 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 03:36:03,441 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 03:36:03,442 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 03:36:03,444 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 03:36:03,445 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 03:36:03,446 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 03:36:03,449 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 03:36:03,449 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 03:36:03,451 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 03:36:03,452 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 03:36:03,452 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 03:36:03,452 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 03:36:03,452 INFO L290 TraceCheckUtils]: 32: Hoare triple {18596#true} assume !(~i~0 < ~n~0); {18596#true} is VALID [2022-04-08 03:36:03,452 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 03:36:03,452 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 03:36:03,452 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 03:36:03,452 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 03:36:03,452 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-08 03:36:03,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-08 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,453 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 03:36:03,454 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 03:36:03,454 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 03:36:03,454 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 03:36:03,454 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 03:36:03,454 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 03:36:03,454 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 03:36:03,454 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 03:36:03,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-08 03:36:03,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-08 03:36:03,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-08 03:36:03,454 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 03:36:03,454 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-08 03:36:03,455 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 03:36:03,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [71057867] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:36:03,455 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:36:03,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 21, 16] total 59 [2022-04-08 03:36:03,455 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:36:03,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [239296338] [2022-04-08 03:36:03,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [239296338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:36:03,455 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:36:03,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-08 03:36:03,455 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1436219766] [2022-04-08 03:36:03,456 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:36:03,456 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 03:36:03,456 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:36:03,456 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 03:36:03,499 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 03:36:03,499 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-08 03:36:03,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:03,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-08 03:36:03,500 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=278, Invalid=3144, Unknown=0, NotChecked=0, Total=3422 [2022-04-08 03:36:03,501 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 03:36:13,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:13,197 INFO L93 Difference]: Finished difference Result 410 states and 529 transitions. [2022-04-08 03:36:13,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2022-04-08 03:36:13,198 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 03:36:13,198 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:36:13,198 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 03:36:13,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-08 03:36:13,199 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 03:36:13,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-08 03:36:13,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 188 transitions. [2022-04-08 03:36:13,454 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 03:36:13,464 INFO L225 Difference]: With dead ends: 410 [2022-04-08 03:36:13,464 INFO L226 Difference]: Without dead ends: 350 [2022-04-08 03:36:13,467 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 03:36:13,468 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 03:36:13,468 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 03:36:13,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-08 03:36:14,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 233. [2022-04-08 03:36:14,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:36:14,708 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 03:36:14,708 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 03:36:14,708 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 03:36:14,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:14,715 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-08 03:36:14,715 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-08 03:36:14,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:14,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:14,717 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 03:36:14,717 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 03:36:14,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:14,725 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-08 03:36:14,725 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-08 03:36:14,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:14,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:14,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:36:14,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:36:14,726 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 03:36:14,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 313 transitions. [2022-04-08 03:36:14,729 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 313 transitions. Word has length 94 [2022-04-08 03:36:14,730 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:36:14,730 INFO L478 AbstractCegarLoop]: Abstraction has 233 states and 313 transitions. [2022-04-08 03:36:14,730 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 03:36:14,730 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 313 transitions. [2022-04-08 03:36:15,515 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 03:36:15,515 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 313 transitions. [2022-04-08 03:36:15,515 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 03:36:15,516 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:36:15,516 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 03:36:15,532 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Ended with exit code 0 [2022-04-08 03:36:15,716 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 03:36:15,716 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:36:15,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:36:15,716 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 1 times [2022-04-08 03:36:15,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:15,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [111797070] [2022-04-08 03:36:15,719 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:36:15,719 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:36:15,719 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:36:15,719 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 2 times [2022-04-08 03:36:15,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:36:15,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1848312779] [2022-04-08 03:36:15,719 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:36:15,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:36:15,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:15,812 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:36:15,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:15,816 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 03:36:15,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 03:36:15,817 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 03:36:15,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:36:15,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:17,024 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 03:36:17,024 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 03:36:17,025 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 03:36:17,026 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 03:36:17,026 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 03:36:17,027 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 03:36:17,028 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 03:36:17,028 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 03:36:17,029 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 03:36:17,029 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 03:36:17,030 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 03:36:17,030 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 03:36:17,031 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 03:36:17,032 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 03:36:17,033 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 03:36:17,033 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 03:36:17,034 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 03:36:17,039 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 03:36:17,040 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 03:36:17,041 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 03:36:17,042 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 03:36:17,043 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 03:36:17,043 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 03:36:17,044 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 03:36:17,045 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 03:36:17,045 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 03:36:17,046 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 03:36:17,046 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 03:36:17,047 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 03:36:17,048 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 03:36:17,049 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 03:36:17,049 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 03:36:17,050 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 03:36:17,051 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 03:36:17,051 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 03:36:17,052 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 03:36:17,052 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 03:36:17,053 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 03:36:17,053 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 03:36:17,053 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 03:36:17,053 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 03:36:17,053 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 03:36:17,053 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 03:36:17,053 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 03:36:17,053 INFO L290 TraceCheckUtils]: 44: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 03:36:17,053 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 03:36:17,053 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 03:36:17,053 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 03:36:17,053 INFO L290 TraceCheckUtils]: 48: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 03:36:17,053 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 03:36:17,054 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 03:36:17,054 INFO L290 TraceCheckUtils]: 51: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-08 03:36:17,054 INFO L290 TraceCheckUtils]: 52: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-08 03:36:17,054 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-08 03:36:17,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:36:17,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:17,068 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 03:36:17,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 03:36:17,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 03:36:17,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 03:36:17,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:36:17,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:17,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 03:36:17,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 03:36:17,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 03:36:17,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 03:36:17,072 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 03:36:17,072 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 03:36:17,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-08 03:36:17,073 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 03:36:17,073 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 03:36:17,074 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 03:36:17,074 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 03:36:17,074 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 03:36:17,075 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 03:36:17,075 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 03:36:17,075 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 03:36:17,075 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 03:36:17,076 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 03:36:17,076 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 03:36:17,076 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 03:36:17,077 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 03:36:17,077 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 03:36:17,077 INFO L272 TraceCheckUtils]: 17: Hoare triple {21405#(= |~#array~0.offset| 0)} call SelectionSort(); {21469#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 03:36:17,077 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 03:36:17,078 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 03:36:17,079 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 03:36:17,080 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 03:36:17,081 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 03:36:17,081 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 03:36:17,082 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 03:36:17,083 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 03:36:17,083 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 03:36:17,084 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 03:36:17,085 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 03:36:17,085 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 03:36:17,086 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 03:36:17,087 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 03:36:17,088 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 03:36:17,089 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 03:36:17,090 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 03:36:17,091 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 03:36:17,092 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 03:36:17,093 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 03:36:17,094 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 03:36:17,095 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 03:36:17,096 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 03:36:17,097 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 03:36:17,098 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 03:36:17,098 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 03:36:17,099 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 03:36:17,099 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 03:36:17,101 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 03:36:17,101 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 03:36:17,102 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 03:36:17,103 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 03:36:17,104 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 03:36:17,105 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 03:36:17,105 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 03:36:17,106 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 03:36:17,106 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 03:36:17,107 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 03:36:17,107 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 03:36:17,107 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 03:36:17,107 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 03:36:17,107 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 03:36:17,107 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 03:36:17,107 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 03:36:17,108 INFO L290 TraceCheckUtils]: 62: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 03:36:17,108 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 03:36:17,108 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 03:36:17,108 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 03:36:17,108 INFO L290 TraceCheckUtils]: 66: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-08 03:36:17,108 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 03:36:17,108 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 03:36:17,108 INFO L290 TraceCheckUtils]: 69: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-08 03:36:17,108 INFO L290 TraceCheckUtils]: 70: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-08 03:36:17,108 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-08 03:36:17,108 INFO L290 TraceCheckUtils]: 72: Hoare triple {21401#false} ~i~1 := 0; {21401#false} is VALID [2022-04-08 03:36:17,108 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 03:36:17,109 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 03:36:17,109 INFO L290 TraceCheckUtils]: 75: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 03:36:17,109 INFO L290 TraceCheckUtils]: 76: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 03:36:17,109 INFO L290 TraceCheckUtils]: 77: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 03:36:17,109 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 03:36:17,109 INFO L290 TraceCheckUtils]: 79: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-08 03:36:17,109 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 03:36:17,109 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 03:36:17,109 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 03:36:17,109 INFO L290 TraceCheckUtils]: 83: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-08 03:36:17,109 INFO L290 TraceCheckUtils]: 84: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-08 03:36:17,110 INFO L290 TraceCheckUtils]: 85: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-08 03:36:17,110 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-08 03:36:17,110 INFO L290 TraceCheckUtils]: 87: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-08 03:36:17,110 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 03:36:17,110 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 03:36:17,110 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 03:36:17,110 INFO L290 TraceCheckUtils]: 91: Hoare triple {21401#false} ~cond := #in~cond; {21401#false} is VALID [2022-04-08 03:36:17,110 INFO L290 TraceCheckUtils]: 92: Hoare triple {21401#false} assume 0 == ~cond; {21401#false} is VALID [2022-04-08 03:36:17,110 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-08 03:36:17,111 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 03:36:17,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:36:17,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1848312779] [2022-04-08 03:36:17,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1848312779] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:36:17,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2057732048] [2022-04-08 03:36:17,112 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:36:17,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:36:17,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:36:17,120 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 03:36:17,144 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 03:36:17,256 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:36:17,256 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:36:17,258 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 03:36:17,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:17,278 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:36:17,335 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:36:17,335 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 03:36:17,453 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 03:36:17,553 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:36:17,554 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-08 03:36:17,653 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:36:17,653 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 03:36:18,254 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 03:36:19,012 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:36:19,012 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 03:36:19,127 INFO L272 TraceCheckUtils]: 0: Hoare triple {21400#true} call ULTIMATE.init(); {21400#true} is VALID [2022-04-08 03:36:19,128 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 03:36:19,129 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 03:36:19,129 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 03:36:19,129 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 03:36:19,130 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 03:36:19,130 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 03:36:19,131 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 03:36:19,131 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 03:36:19,131 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 03:36:19,132 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 03:36:19,132 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 03:36:19,133 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 03:36:19,133 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 03:36:19,134 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 03:36:19,134 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 03:36:19,135 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 03:36:19,135 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 03:36:19,136 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 03:36:19,136 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 03:36:19,136 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 03:36:19,137 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 03:36:19,137 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 03:36:19,137 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 03:36:19,138 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 03:36:19,138 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 03:36:19,138 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 03:36:19,139 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 03:36:19,139 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 03:36:19,139 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 03:36:19,140 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 03:36:19,140 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 03:36:19,140 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 03:36:19,141 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 03:36:19,141 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 03:36:19,142 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 03:36:19,142 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 03:36:19,143 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 03:36:19,143 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 03:36:19,143 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 03:36:19,144 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 03:36:19,144 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 03:36:19,145 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 03:36:19,145 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 03:36:19,146 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 03:36:19,147 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 03:36:19,148 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 03:36:19,149 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 03:36:19,149 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 03:36:19,150 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 03:36:19,150 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 03:36:19,151 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 03:36:19,151 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 03:36:19,151 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 03:36:19,152 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 03:36:19,152 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 03:36:19,154 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 03:36:19,154 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 03:36:19,155 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 03:36:19,155 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 03:36:19,156 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 03:36:19,156 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 03:36:19,156 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 03:36:19,158 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 03:36:19,159 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 03:36:19,159 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 03:36:19,159 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 03:36:19,161 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 03:36:19,162 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 03:36:19,162 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 03:36:19,163 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 03:36:19,163 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 03:36:19,164 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 03:36:19,164 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 03:36:19,165 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 03:36:19,166 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 03:36:19,166 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 03:36:19,166 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 03:36:19,167 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 03:36:19,167 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 03:36:19,168 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 03:36:19,168 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 03:36:19,169 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 03:36:19,169 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 03:36:19,170 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 03:36:19,170 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 03:36:19,170 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 03:36:19,171 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 03:36:19,171 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 03:36:19,172 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 03:36:19,172 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 03:36:19,173 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 03:36:19,173 INFO L290 TraceCheckUtils]: 92: Hoare triple {21792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21401#false} is VALID [2022-04-08 03:36:19,173 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-08 03:36:19,174 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 03:36:19,174 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:36:19,488 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 03:36:19,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2057732048] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:36:19,489 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:36:19,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 20] total 52 [2022-04-08 03:36:19,490 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:36:19,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [111797070] [2022-04-08 03:36:19,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [111797070] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:36:19,490 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:36:19,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-08 03:36:19,490 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [602938081] [2022-04-08 03:36:19,490 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:36:19,491 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 03:36:19,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:36:19,491 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 03:36:19,547 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 03:36:19,548 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-08 03:36:19,548 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:19,548 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-08 03:36:19,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=229, Invalid=2957, Unknown=10, NotChecked=110, Total=3306 [2022-04-08 03:36:19,549 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 03:36:35,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:35,681 INFO L93 Difference]: Finished difference Result 762 states and 1052 transitions. [2022-04-08 03:36:35,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 92 states. [2022-04-08 03:36:35,681 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 03:36:35,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:36:35,681 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 03:36:35,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-08 03:36:35,683 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 03:36:35,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-08 03:36:35,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 229 transitions. [2022-04-08 03:36:36,002 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 03:36:36,028 INFO L225 Difference]: With dead ends: 762 [2022-04-08 03:36:36,029 INFO L226 Difference]: Without dead ends: 701 [2022-04-08 03:36:36,033 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 246 GetRequests, 93 SyntacticMatches, 8 SemanticMatches, 145 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 5994 ImplicationChecksByTransitivity, 8.8s TimeCoverageRelationStatistics Valid=2620, Invalid=18543, Unknown=11, NotChecked=288, Total=21462 [2022-04-08 03:36:36,034 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 03:36:36,034 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 03:36:36,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 701 states. [2022-04-08 03:36:39,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 701 to 465. [2022-04-08 03:36:39,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:36:39,676 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 03:36:39,676 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 03:36:39,676 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 03:36:39,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:39,698 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-08 03:36:39,698 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-08 03:36:39,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:39,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:39,712 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 03:36:39,713 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 03:36:39,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:39,727 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-08 03:36:39,727 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-08 03:36:39,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:39,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:39,729 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:36:39,729 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:36:39,729 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 03:36:39,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 642 transitions. [2022-04-08 03:36:39,739 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 642 transitions. Word has length 94 [2022-04-08 03:36:39,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:36:39,739 INFO L478 AbstractCegarLoop]: Abstraction has 465 states and 642 transitions. [2022-04-08 03:36:39,739 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 03:36:39,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 465 states and 642 transitions. [2022-04-08 03:36:41,875 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 03:36:41,876 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 642 transitions. [2022-04-08 03:36:41,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 03:36:41,883 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:36:41,883 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 03:36:41,902 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 03:36:42,100 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 03:36:42,100 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:36:42,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:36:42,100 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 3 times [2022-04-08 03:36:42,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:42,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [531474998] [2022-04-08 03:36:42,102 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:36:42,102 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:36:42,102 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:36:42,102 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 4 times [2022-04-08 03:36:42,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:36:42,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [880034093] [2022-04-08 03:36:42,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:36:42,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:36:42,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:42,526 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:36:42,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:42,550 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 03:36:42,550 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 03:36:42,551 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 03:36:42,562 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:36:42,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:42,685 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 03:36:42,686 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 03:36:42,687 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 03:36:42,687 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 03:36:42,687 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 03:36:42,688 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 03:36:42,688 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 03:36:42,689 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 03:36:42,689 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 03:36:42,690 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 03:36:42,690 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 03:36:42,691 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 03:36:42,691 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 03:36:42,692 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 03:36:42,692 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 03:36:42,693 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 03:36:42,694 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 03:36:42,694 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 03:36:42,695 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 03:36:42,695 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 03:36:42,696 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 03:36:42,696 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 03:36:42,697 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 03:36:42,697 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 03:36:42,698 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 03:36:42,698 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 03:36:42,698 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 03:36:42,699 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 03:36:42,700 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 03:36:42,700 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 03:36:42,701 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 03:36:42,701 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 03:36:42,702 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 03:36:42,702 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 03:36:42,703 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 03:36:42,703 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 03:36:42,704 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 03:36:42,704 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 03:36:42,705 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 03:36:42,705 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 03:36:42,706 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 03:36:42,706 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 03:36:42,707 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 03:36:42,707 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 03:36:42,708 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 03:36:42,709 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 03:36:42,709 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 03:36:42,710 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 03:36:42,710 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 03:36:42,711 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 03:36:42,711 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 03:36:42,712 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 03:36:42,712 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 03:36:42,713 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 03:36:42,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:36:42,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:42,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 03:36:42,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 03:36:42,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:42,719 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 03:36:42,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:36:42,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:42,722 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 03:36:42,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 03:36:42,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:42,723 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 03:36:42,724 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 03:36:42,725 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 03:36:42,725 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 03:36:42,726 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 03:36:42,726 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 03:36:42,727 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 03:36:42,728 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 03:36:42,729 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 03:36:42,729 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 03:36:42,730 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 03:36:42,731 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 03:36:42,732 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 03:36:42,733 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 03:36:42,734 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 03:36:42,735 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 03:36:42,735 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 03:36:42,736 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 03:36:42,736 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 03:36:42,737 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 03:36:42,737 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 03:36:42,738 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 03:36:42,738 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 03:36:42,739 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 03:36:42,739 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 03:36:42,740 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 03:36:42,740 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 03:36:42,741 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 03:36:42,741 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 03:36:42,742 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 03:36:42,742 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 03:36:42,743 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 03:36:42,743 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 03:36:42,744 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 03:36:42,744 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 03:36:42,745 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 03:36:42,746 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 03:36:42,747 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 03:36:42,747 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 03:36:42,748 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 03:36:42,748 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 03:36:42,749 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 03:36:42,749 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 03:36:42,750 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 03:36:42,750 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 03:36:42,751 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 03:36:42,751 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 03:36:42,752 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 03:36:42,753 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 03:36:42,753 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 03:36:42,754 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 03:36:42,754 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 03:36:42,755 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 03:36:42,755 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 03:36:42,756 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 03:36:42,756 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 03:36:42,757 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 03:36:42,757 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 03:36:42,758 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 03:36:42,758 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 03:36:42,759 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 03:36:42,759 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 03:36:42,760 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 03:36:42,760 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 03:36:42,761 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 03:36:42,762 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 03:36:42,762 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 03:36:42,762 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 03:36:42,763 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 03:36:42,764 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 03:36:42,764 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 03:36:42,765 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 03:36:42,766 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 03:36:42,766 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 03:36:42,767 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 03:36:42,767 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 03:36:42,767 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 03:36:42,767 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 03:36:42,767 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:42,768 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 03:36:42,768 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 03:36:42,769 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 03:36:42,769 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 03:36:42,770 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 03:36:42,770 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 03:36:42,770 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 03:36:42,770 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:42,770 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 03:36:42,771 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 03:36:42,772 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 03:36:42,772 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 03:36:42,773 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 03:36:42,773 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 03:36:42,773 INFO L290 TraceCheckUtils]: 92: Hoare triple {25989#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25909#false} is VALID [2022-04-08 03:36:42,774 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-08 03:36:42,774 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 03:36:42,774 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:36:42,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [880034093] [2022-04-08 03:36:42,775 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [880034093] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:36:42,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2009594314] [2022-04-08 03:36:42,775 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:36:42,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:36:42,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:36:42,792 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 03:36:42,831 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 03:36:42,955 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:36:42,955 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:36:42,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 03:36:42,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:43,001 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:36:43,534 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 03:36:43,535 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 03:36:43,673 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-08 03:36:43,674 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 03:36:43,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-08 03:36:43,766 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 03:36:43,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:43,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-08 03:36:43,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-08 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 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 03:36:43,767 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-08 03:36:43,767 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-08 03:36:43,768 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 03:36:43,768 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 03:36:43,769 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 03:36:43,769 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 03:36:43,769 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 03:36:43,770 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 03:36:43,770 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 03:36:43,771 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 03:36:43,771 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 03:36:43,771 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 03:36:43,771 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 03:36:43,772 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 03:36:43,772 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 03:36:43,772 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 03:36:43,773 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 03:36:43,773 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 03:36:43,773 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 03:36:43,774 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 03:36:43,774 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 03:36:43,775 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 03:36:43,776 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 03:36:43,776 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 03:36:43,777 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 03:36:43,777 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 03:36:43,778 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 03:36:43,778 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 03:36:43,778 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 03:36:43,779 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 03:36:43,780 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 03:36:43,780 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 03:36:43,781 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 03:36:43,781 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 03:36:43,781 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 03:36:43,782 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 03:36:43,782 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 03:36:43,782 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 03:36:43,782 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 03:36:43,782 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:43,782 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 03:36:43,782 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 03:36:43,782 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 03:36:43,782 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 03:36:43,782 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 03:36:43,782 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 03:36:43,782 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:43,782 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 03:36:43,782 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 03:36:43,782 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 03:36:43,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:43,783 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 03:36:43,783 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 03:36:43,783 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:43,783 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 03:36:43,783 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-08 03:36:43,783 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-08 03:36:43,783 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 03:36:43,783 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 03:36:43,783 INFO L290 TraceCheckUtils]: 75: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 03:36:43,783 INFO L290 TraceCheckUtils]: 76: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-08 03:36:43,783 INFO L290 TraceCheckUtils]: 77: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 03:36:43,783 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 03:36:43,783 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 03:36:43,784 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 03:36:43,784 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 03:36:43,784 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 03:36:43,784 INFO L290 TraceCheckUtils]: 83: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 03:36:43,784 INFO L290 TraceCheckUtils]: 84: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-08 03:36:43,784 INFO L290 TraceCheckUtils]: 85: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 03:36:43,784 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 03:36:43,784 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 03:36:43,784 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 03:36:43,784 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 03:36:43,784 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 03:36:43,784 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 03:36:43,784 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-08 03:36:43,784 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-08 03:36:43,785 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 03:36:43,785 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:36:47,924 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 03:36:48,020 INFO L356 Elim1Store]: treesize reduction 81, result has 52.1 percent of original size [2022-04-08 03:36:48,021 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 03:36:48,908 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-08 03:36:48,908 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-08 03:36:48,908 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-08 03:36:48,908 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 03:36:48,908 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 03:36:48,909 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 03:36:48,909 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 03:36:48,909 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 03:36:48,909 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:48,909 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 03:36:48,909 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 03:36:48,909 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 03:36:48,909 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 03:36:48,909 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 03:36:48,909 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-08 03:36:48,909 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-08 03:36:48,909 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:48,909 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-08 03:36:48,909 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-08 03:36:48,909 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 03:36:48,910 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 03:36:48,910 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-08 03:36:48,910 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-08 03:36:48,910 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-08 03:36:48,910 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:48,910 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 03:36:48,910 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 03:36:48,910 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:48,910 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 03:36:48,910 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 03:36:48,910 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 03:36:48,910 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:48,910 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 03:36:48,910 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 03:36:48,911 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 03:36:48,911 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 03:36:48,911 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 03:36:48,911 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 03:36:48,911 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-08 03:36:48,911 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 03:36:48,911 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 03:36:48,911 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 03:36:48,911 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 03:36:48,911 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 03:36:48,912 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 03:36:48,912 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 03:36:48,913 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 03:36:48,914 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 03:36:48,915 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 03:36:48,915 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 03:36:48,916 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 03:36:48,916 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 03:36:48,917 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 03:36:48,917 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 03:36:48,918 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 03:36:48,921 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 03:36:48,922 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 03:36:48,923 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 03:36:48,924 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 03:36:48,924 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 03:36:48,924 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 03:36:48,924 INFO L290 TraceCheckUtils]: 32: Hoare triple {25908#true} assume !(~i~0 < ~n~0); {25908#true} is VALID [2022-04-08 03:36:48,924 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 03:36:48,924 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 03:36:48,924 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 03:36:48,924 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 03:36:48,924 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 03:36:48,924 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-08 03:36:48,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-08 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,925 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 03:36:48,926 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 03:36:48,926 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 03:36:48,926 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 03:36:48,926 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 03:36:48,926 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 03:36:48,926 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 03:36:48,926 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 03:36:48,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-08 03:36:48,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-08 03:36:48,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-08 03:36:48,926 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 03:36:48,926 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-08 03:36:48,927 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 03:36:48,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2009594314] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:36:48,927 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:36:48,927 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 15, 11] total 43 [2022-04-08 03:36:48,927 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:36:48,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [531474998] [2022-04-08 03:36:48,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [531474998] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:36:48,927 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:36:48,927 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 03:36:48,927 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [791709800] [2022-04-08 03:36:48,927 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:36:48,928 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 03:36:48,928 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:36:48,928 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 03:36:48,976 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 03:36:48,976 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 03:36:48,977 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:48,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 03:36:48,977 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=1686, Unknown=0, NotChecked=0, Total=1806 [2022-04-08 03:36:48,977 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 03:36:55,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:55,672 INFO L93 Difference]: Finished difference Result 490 states and 670 transitions. [2022-04-08 03:36:55,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 03:36:55,672 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 03:36:55,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:36:55,673 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 03:36:55,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-08 03:36:55,674 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 03:36:55,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-08 03:36:55,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 85 transitions. [2022-04-08 03:36:55,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:55,786 INFO L225 Difference]: With dead ends: 490 [2022-04-08 03:36:55,786 INFO L226 Difference]: Without dead ends: 488 [2022-04-08 03:36:55,787 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 178 SyntacticMatches, 1 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 818 ImplicationChecksByTransitivity, 4.3s TimeCoverageRelationStatistics Valid=308, Invalid=3598, Unknown=0, NotChecked=0, Total=3906 [2022-04-08 03:36:55,787 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 03:36:55,787 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 49 Invalid, 969 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [120 Valid, 849 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-08 03:36:55,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 488 states. [2022-04-08 03:36:59,331 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 488 to 473. [2022-04-08 03:36:59,331 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:36:59,332 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 03:36:59,332 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 03:36:59,332 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 03:36:59,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:59,341 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-08 03:36:59,341 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-08 03:36:59,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:59,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:59,342 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 03:36:59,342 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 03:36:59,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:59,350 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-08 03:36:59,350 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-08 03:36:59,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:59,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:59,350 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:36:59,350 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:36:59,351 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 03:36:59,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 473 states to 473 states and 650 transitions. [2022-04-08 03:36:59,360 INFO L78 Accepts]: Start accepts. Automaton has 473 states and 650 transitions. Word has length 94 [2022-04-08 03:36:59,360 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:36:59,361 INFO L478 AbstractCegarLoop]: Abstraction has 473 states and 650 transitions. [2022-04-08 03:36:59,361 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 03:36:59,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 473 states and 650 transitions. [2022-04-08 03:37:01,549 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 03:37:01,549 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 650 transitions. [2022-04-08 03:37:01,551 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 03:37:01,551 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:37:01,551 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 03:37:01,568 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-08 03:37:01,751 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 03:37:01,752 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:37:01,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:37:01,752 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 5 times [2022-04-08 03:37:01,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:37:01,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1356319152] [2022-04-08 03:37:01,755 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:37:01,755 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:37:01,755 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:37:01,755 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 6 times [2022-04-08 03:37:01,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:37:01,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [849483401] [2022-04-08 03:37:01,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:37:01,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:37:01,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:01,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:37:01,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:01,852 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 03:37:01,852 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 03:37:01,852 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 03:37:01,855 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:37:01,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:02,308 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 03:37:02,308 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 03:37:02,309 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 03:37:02,309 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 03:37:02,310 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 03:37:02,310 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 03:37:02,311 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 03:37:02,311 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 03:37:02,312 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 03:37:02,312 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 03:37:02,313 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 03:37:02,313 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 03:37:02,314 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 03:37:02,314 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 03:37:02,314 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 03:37:02,314 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 03:37:02,315 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 03:37:02,315 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 03:37:02,316 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 03:37:02,316 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 03:37:02,317 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 03:37:02,318 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 03:37:02,318 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 03:37:02,319 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 03:37:02,319 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 03:37:02,320 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 03:37:02,320 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 03:37:02,321 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 03:37:02,322 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 03:37:02,323 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 03:37:02,323 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 03:37:02,324 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 03:37:02,325 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 03:37:02,325 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 03:37:02,325 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 03:37:02,325 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 03:37:02,325 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 03:37:02,325 INFO L290 TraceCheckUtils]: 37: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,325 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 03:37:02,325 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 03:37:02,325 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 03:37:02,326 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 03:37:02,326 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 03:37:02,326 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 03:37:02,326 INFO L290 TraceCheckUtils]: 44: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,326 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 03:37:02,326 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 03:37:02,326 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 03:37:02,326 INFO L290 TraceCheckUtils]: 48: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,326 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 03:37:02,326 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 03:37:02,326 INFO L290 TraceCheckUtils]: 51: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-08 03:37:02,326 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 03:37:02,327 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:37:02,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:02,329 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 03:37:02,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 03:37:02,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 03:37:02,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 03:37:02,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:37:02,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:02,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 03:37:02,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 03:37:02,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 03:37:02,332 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 03:37:02,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:37:02,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:02,333 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 03:37:02,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 03:37:02,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 03:37:02,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 03:37:02,334 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 03:37:02,335 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 03:37:02,338 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 03:37:02,338 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 03:37:02,339 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 03:37:02,339 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 03:37:02,339 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 03:37:02,340 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 03:37:02,340 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 03:37:02,340 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 03:37:02,341 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 03:37:02,341 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 03:37:02,342 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 03:37:02,342 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 03:37:02,342 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 03:37:02,343 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 03:37:02,343 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 03:37:02,343 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 03:37:02,344 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 03:37:02,344 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 03:37:02,344 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 03:37:02,345 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 03:37:02,345 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 03:37:02,346 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 03:37:02,346 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 03:37:02,347 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 03:37:02,347 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 03:37:02,348 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 03:37:02,348 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 03:37:02,349 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 03:37:02,349 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 03:37:02,349 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 03:37:02,350 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 03:37:02,350 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 03:37:02,350 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 03:37:02,350 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 03:37:02,351 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 03:37:02,352 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 03:37:02,352 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 03:37:02,353 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 03:37:02,353 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 03:37:02,354 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 03:37:02,354 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 03:37:02,355 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 03:37:02,355 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 03:37:02,356 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 03:37:02,357 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 03:37:02,357 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 03:37:02,358 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 03:37:02,359 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 INFO L290 TraceCheckUtils]: 55: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,360 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 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 03:37:02,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,361 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 03:37:02,361 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 03:37:02,361 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 03:37:02,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,361 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 03:37:02,361 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 03:37:02,361 INFO L290 TraceCheckUtils]: 69: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-08 03:37:02,361 INFO L290 TraceCheckUtils]: 70: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-08 03:37:02,361 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 03:37:02,361 INFO L290 TraceCheckUtils]: 72: Hoare triple {29523#false} ~i~1 := 0; {29523#false} is VALID [2022-04-08 03:37:02,361 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 03:37:02,361 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 03:37:02,361 INFO L290 TraceCheckUtils]: 75: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 03:37:02,361 INFO L290 TraceCheckUtils]: 76: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 03:37:02,361 INFO L290 TraceCheckUtils]: 77: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 03:37:02,362 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 03:37:02,362 INFO L290 TraceCheckUtils]: 79: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-08 03:37:02,362 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 03:37:02,362 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 03:37:02,362 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 03:37:02,362 INFO L290 TraceCheckUtils]: 83: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 03:37:02,362 INFO L290 TraceCheckUtils]: 84: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 03:37:02,362 INFO L290 TraceCheckUtils]: 85: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 03:37:02,362 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 03:37:02,362 INFO L290 TraceCheckUtils]: 87: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-08 03:37:02,362 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 03:37:02,362 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 03:37:02,362 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 03:37:02,362 INFO L290 TraceCheckUtils]: 91: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-08 03:37:02,362 INFO L290 TraceCheckUtils]: 92: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-08 03:37:02,363 INFO L290 TraceCheckUtils]: 93: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-08 03:37:02,363 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-08 03:37:02,363 INFO L290 TraceCheckUtils]: 95: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-08 03:37:02,363 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 03:37:02,363 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 03:37:02,363 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 03:37:02,363 INFO L290 TraceCheckUtils]: 99: Hoare triple {29523#false} ~cond := #in~cond; {29523#false} is VALID [2022-04-08 03:37:02,363 INFO L290 TraceCheckUtils]: 100: Hoare triple {29523#false} assume 0 == ~cond; {29523#false} is VALID [2022-04-08 03:37:02,363 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-08 03:37:02,364 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 03:37:02,364 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:37:02,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [849483401] [2022-04-08 03:37:02,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [849483401] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:37:02,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [787872265] [2022-04-08 03:37:02,364 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:37:02,364 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:37:02,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:37:02,365 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 03:37:02,366 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 03:37:02,696 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-08 03:37:02,696 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:37:02,699 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 03:37:02,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:02,721 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:37:02,773 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:37:02,773 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 03:37:02,843 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 03:37:02,974 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:37:02,974 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 03:37:03,048 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 03:37:03,048 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 03:37:03,168 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 03:37:03,168 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 03:37:03,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 03:37:04,936 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:37:04,937 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 03:37:05,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {29522#true} call ULTIMATE.init(); {29522#true} is VALID [2022-04-08 03:37:05,032 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 03:37:05,033 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 03:37:05,033 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 03:37:05,033 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 03:37:05,034 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 03:37:05,034 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 03:37:05,034 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 03:37:05,035 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 03:37:05,035 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 03:37:05,036 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 03:37:05,036 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 03:37:05,037 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 03:37:05,037 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 03:37:05,038 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 03:37:05,038 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 03:37:05,039 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 03:37:05,039 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 03:37:05,040 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 03:37:05,040 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 03:37:05,040 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 03:37:05,041 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 03:37:05,041 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 03:37:05,041 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 03:37:05,042 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 03:37:05,042 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 03:37:05,043 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 03:37:05,043 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 03:37:05,043 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 03:37:05,044 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 03:37:05,044 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 03:37:05,044 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 03:37:05,045 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 03:37:05,045 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 03:37:05,047 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 03:37:05,047 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 03:37:05,048 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 03:37:05,048 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 03:37:05,049 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 03:37:05,059 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 03:37:05,060 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 03:37:05,061 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 03:37:05,061 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 03:37:05,062 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 03:37:05,062 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 03:37:05,063 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 03:37:05,064 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 03:37:05,065 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 03:37:05,065 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 03:37:05,066 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 03:37:05,066 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 03:37:05,067 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 03:37:05,067 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 03:37:05,068 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 03:37:05,068 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 03:37:05,069 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 03:37:05,070 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 03:37:05,071 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 03:37:05,071 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 03:37:05,072 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 03:37:05,072 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 03:37:05,073 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 03:37:05,073 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 03:37:05,075 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 03:37:05,075 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 03:37:05,076 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 03:37:05,076 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 03:37:05,078 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 03:37:05,078 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 03:37:05,079 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 03:37:05,079 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 03:37:05,080 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 03:37:05,080 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 03:37:05,081 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 03:37:05,082 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 03:37:05,082 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 03:37:05,083 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 03:37:05,083 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 03:37:05,084 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 03:37:05,084 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 03:37:05,085 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 03:37:05,085 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 03:37:05,086 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 03:37:05,086 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 03:37:05,087 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 03:37:05,087 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 03:37:05,088 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 03:37:05,088 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 03:37:05,089 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 03:37:05,089 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 03:37:05,090 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 03:37:05,091 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 03:37:05,091 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 03:37:05,092 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 03:37:05,092 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 03:37:05,093 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 03:37:05,093 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 03:37:05,093 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 03:37:05,094 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 03:37:05,094 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 03:37:05,095 INFO L290 TraceCheckUtils]: 100: Hoare triple {29932#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29523#false} is VALID [2022-04-08 03:37:05,095 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-08 03:37:05,095 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 03:37:05,095 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:37:05,436 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 03:37:05,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [787872265] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:37:05,437 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:37:05,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-08 03:37:05,437 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:37:05,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1356319152] [2022-04-08 03:37:05,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1356319152] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:37:05,437 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:37:05,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 03:37:05,437 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [581749292] [2022-04-08 03:37:05,438 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:37:05,438 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 03:37:05,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:37:05,438 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 03:37:05,503 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 03:37:05,503 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 03:37:05,503 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:37:05,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 03:37:05,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2090, Unknown=11, NotChecked=92, Total=2352 [2022-04-08 03:37:05,504 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 03:37:19,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:37:19,296 INFO L93 Difference]: Finished difference Result 1370 states and 1890 transitions. [2022-04-08 03:37:19,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2022-04-08 03:37:19,296 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 03:37:19,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:37:19,296 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 03:37:19,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-08 03:37:19,304 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 03:37:19,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-08 03:37:19,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 217 transitions. [2022-04-08 03:37:19,528 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 03:37:19,567 INFO L225 Difference]: With dead ends: 1370 [2022-04-08 03:37:19,567 INFO L226 Difference]: Without dead ends: 1021 [2022-04-08 03:37:19,568 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 03:37:19,568 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 278 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 1172 mSolverCounterSat, 244 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 278 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 244 IncrementalHoareTripleChecker+Valid, 1172 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-08 03:37:19,569 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [278 Valid, 45 Invalid, 1416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [244 Valid, 1172 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-08 03:37:19,569 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1021 states. [2022-04-08 03:37:24,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1021 to 610. [2022-04-08 03:37:24,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:37:24,742 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 03:37:24,743 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 03:37:24,744 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 03:37:24,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:37:24,791 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-08 03:37:24,793 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-08 03:37:24,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:37:24,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:37:24,796 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 03:37:24,796 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 03:37:24,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:37:24,843 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-08 03:37:24,843 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-08 03:37:24,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:37:24,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:37:24,845 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:37:24,845 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:37:24,846 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 03:37:24,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 610 states to 610 states and 830 transitions. [2022-04-08 03:37:24,870 INFO L78 Accepts]: Start accepts. Automaton has 610 states and 830 transitions. Word has length 102 [2022-04-08 03:37:24,870 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:37:24,870 INFO L478 AbstractCegarLoop]: Abstraction has 610 states and 830 transitions. [2022-04-08 03:37:24,870 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 03:37:24,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 610 states and 830 transitions. [2022-04-08 03:37:28,122 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 03:37:28,122 INFO L276 IsEmpty]: Start isEmpty. Operand 610 states and 830 transitions. [2022-04-08 03:37:28,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 03:37:28,127 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:37:28,127 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 03:37:28,144 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Ended with exit code 0 [2022-04-08 03:37:28,329 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 03:37:28,330 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:37:28,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:37:28,330 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 7 times [2022-04-08 03:37:28,330 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:37:28,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [915305805] [2022-04-08 03:37:28,332 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:37:28,332 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:37:28,333 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:37:28,333 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 8 times [2022-04-08 03:37:28,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:37:28,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [403716726] [2022-04-08 03:37:28,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:37:28,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:37:28,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:28,940 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:37:28,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:28,976 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 03:37:28,977 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 03:37:28,977 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 03:37:28,989 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:37:29,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:29,049 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 03:37:29,049 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 03:37:29,050 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 03:37:29,050 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 03:37:29,050 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 03:37:29,051 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 03:37:29,051 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 03:37:29,052 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 03:37:29,052 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 03:37:29,053 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 03:37:29,053 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 03:37:29,053 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 03:37:29,054 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 03:37:29,054 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 03:37:29,055 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 03:37:29,055 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 03:37:29,056 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 03:37:29,056 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 03:37:29,056 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 03:37:29,057 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 03:37:29,057 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 03:37:29,057 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 03:37:29,058 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 03:37:29,058 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 03:37:29,058 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 03:37:29,059 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 03:37:29,059 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 03:37:29,059 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 03:37:29,060 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 03:37:29,060 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 03:37:29,061 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 03:37:29,061 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 03:37:29,061 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 03:37:29,062 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 03:37:29,062 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 03:37:29,062 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 03:37:29,063 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 03:37:29,063 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 03:37:29,064 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 03:37:29,064 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 03:37:29,065 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 03:37:29,065 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 03:37:29,065 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 03:37:29,066 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 03:37:29,066 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 03:37:29,067 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 03:37:29,067 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 03:37:29,067 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 03:37:29,068 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 03:37:29,068 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 03:37:29,069 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 03:37:29,069 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 03:37:29,069 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 03:37:29,070 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 03:37:29,071 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:37:29,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:29,073 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 03:37:29,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 03:37:29,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 03:37:29,074 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 03:37:29,074 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:37:29,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:29,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 03:37:29,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 03:37:29,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 03:37:29,078 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 03:37:29,078 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:37:29,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:29,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 03:37:29,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 03:37:29,081 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 03:37:29,081 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 03:37:29,082 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 03:37:29,082 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 03:37:29,083 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 03:37:29,083 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 03:37:29,084 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 03:37:29,084 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 03:37:29,085 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 03:37:29,085 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 03:37:29,086 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 03:37:29,086 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 03:37:29,087 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 03:37:29,088 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 03:37:29,088 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 03:37:29,089 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 03:37:29,089 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 03:37:29,090 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 03:37:29,090 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 03:37:29,091 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 03:37:29,091 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 03:37:29,091 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 03:37:29,092 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 03:37:29,092 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 03:37:29,092 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 03:37:29,093 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 03:37:29,093 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 03:37:29,093 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 03:37:29,094 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 03:37:29,094 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 03:37:29,094 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 03:37:29,095 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 03:37:29,095 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 03:37:29,095 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 03:37:29,096 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 03:37:29,096 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 03:37:29,097 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 03:37:29,097 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 03:37:29,097 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 03:37:29,097 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 03:37:29,098 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 03:37:29,098 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 03:37:29,098 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 03:37:29,099 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 03:37:29,099 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 03:37:29,099 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 03:37:29,099 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 03:37:29,100 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 03:37:29,100 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 03:37:29,101 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 03:37:29,101 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 03:37:29,101 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 03:37:29,101 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 03:37:29,102 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 03:37:29,102 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 03:37:29,102 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 03:37:29,102 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 03:37:29,103 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 03:37:29,103 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 03:37:29,104 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 03:37:29,104 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 03:37:29,104 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 03:37:29,104 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 03:37:29,105 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 03:37:29,105 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 03:37:29,105 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 03:37:29,106 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 03:37:29,106 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 03:37:29,106 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 03:37:29,107 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 03:37:29,107 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 03:37:29,107 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 03:37:29,108 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 03:37:29,108 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 03:37:29,109 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 03:37:29,109 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 03:37:29,109 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 03:37:29,109 INFO L290 TraceCheckUtils]: 75: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 03:37:29,109 INFO L290 TraceCheckUtils]: 76: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 03:37:29,109 INFO L290 TraceCheckUtils]: 77: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 03:37:29,110 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 03:37:29,110 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 03:37:29,111 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 03:37:29,111 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 03:37:29,111 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 03:37:29,111 INFO L290 TraceCheckUtils]: 83: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 03:37:29,111 INFO L290 TraceCheckUtils]: 84: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 03:37:29,111 INFO L290 TraceCheckUtils]: 85: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 03:37:29,112 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 03:37:29,112 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 03:37:29,113 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 03:37:29,113 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 03:37:29,113 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 03:37:29,113 INFO L290 TraceCheckUtils]: 91: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-08 03:37:29,113 INFO L290 TraceCheckUtils]: 92: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-08 03:37:29,113 INFO L290 TraceCheckUtils]: 93: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-08 03:37:29,114 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 03:37:29,114 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 03:37:29,115 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 03:37:29,115 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 03:37:29,116 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 03:37:29,116 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 03:37:29,116 INFO L290 TraceCheckUtils]: 100: Hoare triple {36240#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36155#false} is VALID [2022-04-08 03:37:29,116 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-08 03:37:29,117 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 03:37:29,117 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:37:29,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [403716726] [2022-04-08 03:37:29,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [403716726] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:37:29,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425162060] [2022-04-08 03:37:29,117 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:37:29,117 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:37:29,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:37:29,118 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 03:37:29,163 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 03:37:29,266 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:37:29,266 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:37:29,268 INFO L263 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 03:37:29,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:29,288 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:37:29,340 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:37:29,341 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 03:37:29,404 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 03:37:29,488 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:37:29,488 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 03:37:29,555 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:37:29,555 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 03:37:29,631 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:37:29,631 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 03:37:30,164 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-08 03:37:31,140 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:37:31,140 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 03:37:31,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {36154#true} call ULTIMATE.init(); {36154#true} is VALID [2022-04-08 03:37:31,218 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 03:37:31,218 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 03:37:31,219 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 03:37:31,219 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 03:37:31,220 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 03:37:31,220 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 03:37:31,220 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 03:37:31,221 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 03:37:31,221 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 03:37:31,222 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 03:37:31,223 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 03:37:31,229 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 03:37:31,229 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 03:37:31,230 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 03:37:31,230 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 03:37:31,231 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 03:37:31,231 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 03:37:31,232 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 03:37:31,232 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 03:37:31,233 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 03:37:31,233 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 03:37:31,233 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 03:37:31,234 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 03:37:31,234 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 03:37:31,234 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 03:37:31,235 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 03:37:31,241 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 03:37:31,243 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 03:37:31,246 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 03:37:31,251 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 03:37:31,252 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 03:37:31,252 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 03:37:31,253 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 03:37:31,253 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 03:37:31,254 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 03:37:31,254 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 03:37:31,255 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 03:37:31,256 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 03:37:31,256 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 03:37:31,257 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 03:37:31,257 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 03:37:31,258 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 03:37:31,258 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 03:37:31,259 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 03:37:31,259 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 03:37:31,261 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 03:37:31,262 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 03:37:31,267 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 03:37:31,268 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 03:37:31,269 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 03:37:31,269 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 03:37:31,270 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 03:37:31,270 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 03:37:31,271 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 03:37:31,271 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 03:37:31,273 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 03:37:31,274 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 03:37:31,274 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 03:37:31,275 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 03:37:31,276 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 03:37:31,276 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 03:37:31,277 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 03:37:31,278 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 03:37:31,279 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 03:37:31,280 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 03:37:31,280 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 03:37:31,282 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 03:37:31,282 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 03:37:31,283 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 03:37:31,283 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 03:37:31,284 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 03:37:31,284 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 03:37:31,285 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 03:37:31,286 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 03:37:31,286 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 03:37:31,286 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 03:37:31,287 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 03:37:31,287 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 03:37:31,288 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 03:37:31,288 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 03:37:31,288 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 03:37:31,289 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 03:37:31,290 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 03:37:31,290 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 03:37:31,290 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 03:37:31,291 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 03:37:31,291 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 03:37:31,292 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 03:37:31,292 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 03:37:31,293 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 03:37:31,293 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 03:37:31,293 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 03:37:31,294 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 03:37:31,294 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 03:37:31,295 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 03:37:31,295 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 03:37:31,296 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 03:37:31,296 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 03:37:31,296 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 03:37:31,297 INFO L290 TraceCheckUtils]: 100: Hoare triple {36561#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {36155#false} is VALID [2022-04-08 03:37:31,297 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-08 03:37:31,297 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 03:37:31,297 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:37:31,630 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 03:37:31,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [425162060] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:37:31,632 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:37:31,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 39 [2022-04-08 03:37:31,632 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:37:31,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [915305805] [2022-04-08 03:37:31,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [915305805] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:37:31,632 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:37:31,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 03:37:31,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710724984] [2022-04-08 03:37:31,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:37:31,632 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 03:37:31,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:37:31,633 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 03:37:31,676 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 03:37:31,677 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 03:37:31,677 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:37:31,677 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 03:37:31,677 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=1802, Unknown=11, NotChecked=86, Total=2070 [2022-04-08 03:37:31,677 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 03:37:39,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:37:39,345 INFO L93 Difference]: Finished difference Result 631 states and 853 transitions. [2022-04-08 03:37:39,345 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 03:37:39,346 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 03:37:39,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:37:39,347 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 03:37:39,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-08 03:37:39,348 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 03:37:39,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-08 03:37:39,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 85 transitions. [2022-04-08 03:37:39,446 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 03:37:39,461 INFO L225 Difference]: With dead ends: 631 [2022-04-08 03:37:39,461 INFO L226 Difference]: Without dead ends: 629 [2022-04-08 03:37:39,462 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 03:37:39,466 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 130 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 703 mSolverCounterSat, 147 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 130 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 850 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 147 IncrementalHoareTripleChecker+Valid, 703 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 03:37:39,466 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 03:37:39,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 629 states. [2022-04-08 03:37:44,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 629 to 618. [2022-04-08 03:37:44,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:37:44,802 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 03:37:44,802 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 03:37:44,802 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 03:37:44,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:37:44,814 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-08 03:37:44,814 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-08 03:37:44,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:37:44,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:37:44,816 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 03:37:44,816 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 03:37:44,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:37:44,829 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-08 03:37:44,829 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-08 03:37:44,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:37:44,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:37:44,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:37:44,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:37:44,830 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 03:37:44,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 838 transitions. [2022-04-08 03:37:44,846 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 838 transitions. Word has length 102 [2022-04-08 03:37:44,846 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:37:44,846 INFO L478 AbstractCegarLoop]: Abstraction has 618 states and 838 transitions. [2022-04-08 03:37:44,846 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 03:37:44,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 838 transitions. [2022-04-08 03:37:47,999 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 03:37:47,999 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 838 transitions. [2022-04-08 03:37:48,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:37:48,000 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:37:48,001 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 03:37:48,020 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-08 03:37:48,201 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 03:37:48,201 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:37:48,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:37:48,201 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 9 times [2022-04-08 03:37:48,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:37:48,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [909616096] [2022-04-08 03:37:48,204 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:37:48,204 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:37:48,204 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:37:48,204 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 10 times [2022-04-08 03:37:48,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:37:48,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [327112446] [2022-04-08 03:37:48,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:37:48,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:37:48,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:37:48,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,437 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 03:37:48,437 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 03:37:48,438 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 03:37:48,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:37:48,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,752 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 03:37:48,753 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 03:37:48,753 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 03:37:48,754 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 03:37:48,754 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 03:37:48,755 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 03:37:48,755 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 03:37:48,756 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 03:37:48,756 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 03:37:48,757 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 03:37:48,757 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 03:37:48,757 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 03:37:48,758 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 03:37:48,758 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 03:37:48,758 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 03:37:48,759 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 03:37:48,759 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 03:37:48,759 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 03:37:48,760 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 03:37:48,760 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 03:37:48,760 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 03:37:48,761 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 03:37:48,761 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 03:37:48,761 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 03:37:48,761 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 03:37:48,762 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 03:37:48,762 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 03:37:48,762 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 03:37:48,762 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 03:37:48,763 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 03:37:48,763 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 03:37:48,763 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 03:37:48,763 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 03:37:48,764 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 03:37:48,764 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 03:37:48,764 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 03:37:48,764 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 03:37:48,765 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 03:37:48,765 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 03:37:48,765 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 03:37:48,766 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 03:37:48,766 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 03:37:48,766 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 03:37:48,766 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 03:37:48,767 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 03:37:48,767 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 03:37:48,767 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 03:37:48,767 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 03:37:48,768 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 03:37:48,768 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 03:37:48,768 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 03:37:48,768 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 03:37:48,769 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 03:37:48,769 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 03:37:48,770 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:37:48,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:37:48,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,774 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,774 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:37:48,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,779 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,779 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:37:48,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,792 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,792 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,793 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 03:37:48,794 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 03:37:48,794 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 03:37:48,794 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 03:37:48,795 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 03:37:48,795 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 03:37:48,796 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 03:37:48,797 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 03:37:48,797 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 03:37:48,798 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 03:37:48,798 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 03:37:48,799 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 03:37:48,799 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 03:37:48,800 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 03:37:48,800 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 03:37:48,801 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 03:37:48,801 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 03:37:48,802 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 03:37:48,802 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 03:37:48,803 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 03:37:48,803 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 03:37:48,803 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 03:37:48,804 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 03:37:48,804 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 03:37:48,805 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 03:37:48,806 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 03:37:48,806 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 03:37:48,807 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 03:37:48,807 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 03:37:48,807 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 03:37:48,808 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 03:37:48,808 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 03:37:48,808 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 03:37:48,809 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 03:37:48,809 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 03:37:48,809 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 03:37:48,810 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 03:37:48,810 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 03:37:48,810 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 03:37:48,811 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 03:37:48,811 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 03:37:48,811 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 03:37:48,811 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 03:37:48,812 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 03:37:48,812 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 03:37:48,812 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 03:37:48,812 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 03:37:48,813 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 03:37:48,813 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 03:37:48,813 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 03:37:48,813 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 03:37:48,814 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 03:37:48,814 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 03:37:48,814 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 03:37:48,814 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 03:37:48,815 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 03:37:48,815 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 03:37:48,815 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 03:37:48,815 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 03:37:48,816 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 03:37:48,816 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 03:37:48,816 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 03:37:48,817 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 03:37:48,817 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 03:37:48,817 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 03:37:48,817 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 03:37:48,818 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 03:37:48,818 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 03:37:48,818 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 03:37:48,818 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 03:37:48,819 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 03:37:48,819 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 03:37:48,819 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-08 03:37:48,819 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 03:37:48,819 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 03:37:48,820 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,820 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,820 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,820 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,820 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:48,820 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 03:37:48,820 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 03:37:48,820 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 03:37:48,820 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,820 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,820 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,820 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,820 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:48,820 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 03:37:48,820 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 03:37:48,821 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 03:37:48,821 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,821 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,821 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,821 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,821 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:48,821 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 03:37:48,821 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 03:37:48,821 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 03:37:48,821 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:48,821 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:48,821 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:48,821 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:48,821 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:48,821 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 03:37:48,822 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 03:37:48,822 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 03:37:48,822 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 03:37:48,822 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-08 03:37:48,822 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-08 03:37:48,822 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 03:37:48,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:37:48,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [327112446] [2022-04-08 03:37:48,823 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [327112446] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:37:48,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1874310115] [2022-04-08 03:37:48,823 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:37:48,823 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:37:48,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:37:48,824 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 03:37:48,824 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 03:37:48,959 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:37:48,960 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:37:48,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 326 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-08 03:37:48,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:37:48,986 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:37:49,401 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 03:37:49,401 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 03:37:49,729 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 03:37:49,730 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 03:37:50,180 INFO L356 Elim1Store]: treesize reduction 273, result has 8.1 percent of original size [2022-04-08 03:37:50,180 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 03:37:50,339 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-08 03:37:50,339 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 03:37:50,440 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-08 03:37:50,440 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 03:37:50,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:50,440 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-08 03:37:50,440 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-08 03:37:50,440 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 03:37:50,440 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 03:37:50,440 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 03:37:50,440 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 03:37:50,440 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 03:37:50,441 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 03:37:50,441 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 03:37:50,441 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 03:37:50,441 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 03:37:50,441 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 03:37:50,441 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 03:37:50,441 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-08 03:37:50,441 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-08 03:37:50,441 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 03:37:50,442 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 03:37:50,442 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 03:37:50,443 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 03:37:50,443 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 03:37:50,444 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 03:37:50,444 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 03:37:50,445 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 03:37:50,445 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 03:37:50,446 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 03:37:50,446 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 03:37:50,447 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 03:37:50,447 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 03:37:50,448 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 03:37:50,448 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 03:37:50,449 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 03:37:50,449 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 03:37:50,450 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 03:37:50,450 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 03:37:50,451 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 03:37:50,451 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 03:37:50,452 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 03:37:50,452 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 03:37:50,452 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 03:37:50,453 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 03:37:50,453 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 03:37:50,454 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 03:37:50,454 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 03:37:50,455 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 03:37:50,456 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 03:37:50,456 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 03:37:50,456 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 03:37:50,457 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 03:37:50,457 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 03:37:50,458 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 03:37:50,458 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 03:37:50,459 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 03:37:50,459 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 03:37:50,460 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 03:37:50,461 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 03:37:50,461 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 03:37:50,461 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 03:37:50,462 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 03:37:50,462 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 03:37:50,462 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 03:37:50,462 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 03:37:50,462 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 03:37:50,462 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 03:37:50,462 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 03:37:50,462 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 03:37:50,462 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 03:37:50,462 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-08 03:37:50,463 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 03:37:50,463 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 03:37:50,463 INFO L290 TraceCheckUtils]: 75: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L290 TraceCheckUtils]: 76: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L290 TraceCheckUtils]: 77: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:50,463 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 03:37:50,463 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 03:37:50,463 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 03:37:50,463 INFO L290 TraceCheckUtils]: 83: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 03:37:50,463 INFO L290 TraceCheckUtils]: 84: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 03:37:50,464 INFO L290 TraceCheckUtils]: 85: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 03:37:50,464 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:50,464 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:50,464 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 03:37:50,464 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 03:37:50,464 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 03:37:50,464 INFO L290 TraceCheckUtils]: 91: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 03:37:50,464 INFO L290 TraceCheckUtils]: 92: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 03:37:50,464 INFO L290 TraceCheckUtils]: 93: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 03:37:50,464 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:50,464 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:50,464 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 03:37:50,464 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 03:37:50,464 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 03:37:50,464 INFO L290 TraceCheckUtils]: 99: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 03:37:50,465 INFO L290 TraceCheckUtils]: 100: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-08 03:37:50,465 INFO L290 TraceCheckUtils]: 101: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 03:37:50,465 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:50,465 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:50,465 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 03:37:50,465 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 03:37:50,465 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 03:37:50,465 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 03:37:50,465 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-08 03:37:50,465 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-08 03:37:50,466 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 03:37:50,466 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:37:56,552 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 03:37:56,735 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-08 03:37:56,735 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 03:37:59,329 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-08 03:37:59,329 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-08 03:37:59,330 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-08 03:37:59,330 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 03:37:59,330 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 03:37:59,330 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 03:37:59,330 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:59,330 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:59,330 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:59,330 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:59,330 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:59,330 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 03:37:59,330 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 03:37:59,330 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 03:37:59,330 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:59,330 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:59,331 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:59,331 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:59,331 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:59,331 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 03:37:59,331 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 03:37:59,331 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 03:37:59,331 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:59,331 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:59,331 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:59,331 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:59,331 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:59,331 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 03:37:59,331 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 03:37:59,331 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 03:37:59,332 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-08 03:37:59,332 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-08 03:37:59,332 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:59,332 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-08 03:37:59,332 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-08 03:37:59,332 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 03:37:59,332 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 03:37:59,332 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-08 03:37:59,332 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-08 03:37:59,332 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-08 03:37:59,332 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-08 03:37:59,332 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 03:37:59,332 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 03:37:59,333 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 03:37:59,333 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 03:37:59,333 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 03:37:59,333 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 03:37:59,333 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-08 03:37:59,333 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 03:37:59,333 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 03:37:59,334 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 03:37:59,334 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 03:37:59,335 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 03:37:59,336 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 03:37:59,337 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 03:37:59,337 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 03:37:59,338 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 03:37:59,338 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 03:37:59,341 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 03:37:59,342 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 03:37:59,342 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 03:37:59,343 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 03:37:59,345 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 03:37:59,346 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 03:37:59,346 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 03:37:59,347 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 03:37:59,347 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 03:37:59,348 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 03:37:59,349 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 03:37:59,349 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 03:37:59,351 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 03:37:59,355 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 03:37:59,356 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 03:37:59,356 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 03:37:59,358 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 03:37:59,359 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 03:37:59,360 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 03:37:59,361 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 03:37:59,363 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 03:37:59,364 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 03:37:59,364 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 03:37:59,367 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 03:37:59,369 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 03:37:59,371 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 03:37:59,375 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 03:37:59,376 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 03:37:59,376 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 03:37:59,380 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 03:37:59,381 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 03:37:59,384 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 03:37:59,385 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 03:37:59,385 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 03:37:59,385 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-08 03:37:59,385 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-08 03:37:59,385 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 03:37:59,385 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 03:37:59,385 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 03:37:59,385 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 03:37:59,385 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 03:37:59,386 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 03:37:59,386 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 03:37:59,386 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 03:37:59,386 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 03:37:59,386 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 03:37:59,386 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 03:37:59,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-08 03:37:59,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-08 03:37:59,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-08 03:37:59,386 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 03:37:59,386 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-08 03:37:59,387 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 03:37:59,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1874310115] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:37:59,387 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:37:59,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 25, 24] total 60 [2022-04-08 03:37:59,387 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:37:59,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [909616096] [2022-04-08 03:37:59,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [909616096] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:37:59,387 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:37:59,388 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 03:37:59,388 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1072329898] [2022-04-08 03:37:59,388 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:37:59,388 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 03:37:59,389 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:37:59,389 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 03:37:59,422 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 03:37:59,422 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 03:37:59,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:37:59,423 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 03:37:59,423 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=240, Invalid=3300, Unknown=0, NotChecked=0, Total=3540 [2022-04-08 03:37:59,423 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 03:38:05,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:38:05,222 INFO L93 Difference]: Finished difference Result 1142 states and 1560 transitions. [2022-04-08 03:38:05,222 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 03:38:05,222 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 03:38:05,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:38:05,223 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 03:38:05,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-08 03:38:05,223 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 03:38:05,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-08 03:38:05,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 72 transitions. [2022-04-08 03:38:05,285 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 03:38:05,298 INFO L225 Difference]: With dead ends: 1142 [2022-04-08 03:38:05,298 INFO L226 Difference]: Without dead ends: 563 [2022-04-08 03:38:05,299 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 260 GetRequests, 192 SyntacticMatches, 0 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1462 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=380, Invalid=4450, Unknown=0, NotChecked=0, Total=4830 [2022-04-08 03:38:05,299 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 03:38:05,299 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 03:38:05,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 563 states. [2022-04-08 03:38:10,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 563 to 563. [2022-04-08 03:38:10,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:38:10,003 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 03:38:10,004 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 03:38:10,004 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 03:38:10,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:38:10,014 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-08 03:38:10,014 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-08 03:38:10,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:38:10,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:38:10,016 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 03:38:10,016 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 03:38:10,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:38:10,026 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-08 03:38:10,026 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-08 03:38:10,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:38:10,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:38:10,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:38:10,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:38:10,028 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 03:38:10,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 563 states to 563 states and 767 transitions. [2022-04-08 03:38:10,042 INFO L78 Accepts]: Start accepts. Automaton has 563 states and 767 transitions. Word has length 110 [2022-04-08 03:38:10,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:38:10,043 INFO L478 AbstractCegarLoop]: Abstraction has 563 states and 767 transitions. [2022-04-08 03:38:10,043 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 03:38:10,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 563 states and 767 transitions. [2022-04-08 03:38:12,854 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 03:38:12,855 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-08 03:38:12,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:38:12,855 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:38:12,856 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 03:38:12,872 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Ended with exit code 0 [2022-04-08 03:38:13,056 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 03:38:13,056 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:38:13,056 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:38:13,056 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 11 times [2022-04-08 03:38:13,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:38:13,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1637122603] [2022-04-08 03:38:13,059 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:38:13,059 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:38:13,059 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:38:13,059 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 12 times [2022-04-08 03:38:13,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:38:13,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558671012] [2022-04-08 03:38:13,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:38:13,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:38:13,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:13,260 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:38:13,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:13,273 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 03:38:13,273 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 03:38:13,274 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 03:38:13,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:38:13,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:13,999 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 03:38:13,999 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 03:38:14,000 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 03:38:14,001 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 03:38:14,002 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 03:38:14,002 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 03:38:14,003 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 03:38:14,003 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 03:38:14,004 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 03:38:14,004 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 03:38:14,005 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 03:38:14,006 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 03:38:14,007 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 03:38:14,007 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 03:38:14,008 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 03:38:14,009 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 03:38:14,010 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 03:38:14,011 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 03:38:14,011 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 03:38:14,012 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 03:38:14,013 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 03:38:14,013 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 03:38:14,014 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 03:38:14,015 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 03:38:14,016 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 03:38:14,016 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 03:38:14,016 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 03:38:14,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,016 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 03:38:14,016 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 03:38:14,016 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 03:38:14,016 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,017 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 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 03:38:14,017 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,017 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 03:38:14,018 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 03:38:14,018 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 03:38:14,018 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,018 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 03:38:14,018 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 03:38:14,018 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,018 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 03:38:14,018 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 03:38:14,018 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:38:14,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:14,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,021 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:38:14,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:14,024 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,025 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:38:14,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:14,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:38:14,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:14,029 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,030 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 03:38:14,031 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 03:38:14,031 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 03:38:14,032 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 03:38:14,032 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 03:38:14,033 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 03:38:14,034 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 03:38:14,034 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 03:38:14,035 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 03:38:14,035 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 03:38:14,036 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 03:38:14,036 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 03:38:14,037 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 03:38:14,037 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 03:38:14,038 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 03:38:14,038 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 03:38:14,039 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 03:38:14,039 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 03:38:14,040 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 03:38:14,040 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 03:38:14,041 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 03:38:14,041 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 03:38:14,042 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 03:38:14,042 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 03:38:14,043 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 03:38:14,044 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 03:38:14,044 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 03:38:14,045 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 03:38:14,046 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 03:38:14,046 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 03:38:14,047 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 03:38:14,048 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 03:38:14,048 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 03:38:14,049 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 03:38:14,050 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 03:38:14,051 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 03:38:14,052 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 03:38:14,052 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 03:38:14,054 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 03:38:14,054 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 03:38:14,055 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 03:38:14,056 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 03:38:14,057 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 03:38:14,057 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 03:38:14,057 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 03:38:14,058 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,058 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 03:38:14,058 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 03:38:14,058 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 03:38:14,058 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 03:38:14,058 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 03:38:14,058 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 03:38:14,058 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 03:38:14,058 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 03:38:14,058 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 03:38:14,059 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,059 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 03:38:14,059 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 03:38:14,059 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 03:38:14,059 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 03:38:14,059 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 03:38:14,059 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 03:38:14,059 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,059 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 03:38:14,059 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 03:38:14,059 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 03:38:14,060 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,060 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 03:38:14,060 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 03:38:14,060 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:14,060 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 03:38:14,060 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 03:38:14,060 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-08 03:38:14,060 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 03:38:14,060 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 03:38:14,060 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,061 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,061 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,061 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,061 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:14,061 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 03:38:14,061 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 03:38:14,061 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 03:38:14,061 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,061 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,061 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,061 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,062 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:14,062 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 03:38:14,062 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 03:38:14,062 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 03:38:14,062 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,062 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,062 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,062 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,062 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:14,062 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 03:38:14,062 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 03:38:14,063 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 03:38:14,063 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:14,063 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:14,063 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:14,063 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:14,063 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:14,063 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 03:38:14,063 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 03:38:14,063 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 03:38:14,063 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 03:38:14,063 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-08 03:38:14,063 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-08 03:38:14,064 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 03:38:14,064 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:38:14,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [558671012] [2022-04-08 03:38:14,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [558671012] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:38:14,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [481684919] [2022-04-08 03:38:14,065 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:38:14,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:38:14,065 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:38:14,073 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 03:38:14,073 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 03:38:14,448 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-08 03:38:14,448 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:38:14,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-08 03:38:14,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:38:14,479 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:38:15,679 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:38:15,680 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:38:15,681 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:38:15,699 INFO L356 Elim1Store]: treesize reduction 99, result has 22.0 percent of original size [2022-04-08 03:38:15,699 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 03:38:16,836 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 03:38:16,837 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:38:16,838 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:38:16,838 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 03:38:16,842 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 03:38:16,842 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 03:38:17,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-08 03:38:17,003 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 03:38:17,004 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 03:38:17,004 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 03:38:17,004 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 03:38:17,005 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 03:38:17,005 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 03:38:17,006 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 03:38:17,006 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 03:38:17,006 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 03:38:17,007 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 03:38:17,007 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 03:38:17,008 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 03:38:17,008 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 03:38:17,008 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 03:38:17,009 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 03:38:17,009 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 03:38:17,009 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 03:38:17,010 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 03:38:17,010 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 03:38:17,011 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 03:38:17,011 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 03:38:17,012 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 03:38:17,012 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 03:38:17,013 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 03:38:17,013 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 03:38:17,014 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 03:38:17,015 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 03:38:17,016 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 03:38:17,017 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 03:38:17,018 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 03:38:17,019 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 03:38:17,020 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 03:38:17,021 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 03:38:17,022 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 03:38:17,023 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 03:38:17,024 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 03:38:17,025 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 03:38:17,026 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 03:38:17,027 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 03:38:17,028 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 03:38:17,029 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 03:38:17,029 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 03:38:17,030 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 03:38:17,030 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 03:38:17,030 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:17,030 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 03:38:17,030 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 03:38:17,030 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 03:38:17,030 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 03:38:17,030 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 03:38:17,030 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 03:38:17,030 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 03:38:17,030 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 03:38:17,031 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 03:38:17,031 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:17,031 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 03:38:17,031 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 03:38:17,031 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 03:38:17,031 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 03:38:17,031 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 03:38:17,031 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 03:38:17,031 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:17,031 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 03:38:17,031 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 03:38:17,031 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 03:38:17,031 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:17,031 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 03:38:17,031 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 03:38:17,032 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-08 03:38:17,032 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 03:38:17,032 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 03:38:17,032 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-08 03:38:17,032 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 03:38:17,032 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 03:38:17,032 INFO L290 TraceCheckUtils]: 75: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 03:38:17,032 INFO L290 TraceCheckUtils]: 76: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 03:38:17,032 INFO L290 TraceCheckUtils]: 77: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 03:38:17,032 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:17,032 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:17,032 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 03:38:17,032 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 03:38:17,032 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 03:38:17,032 INFO L290 TraceCheckUtils]: 83: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L290 TraceCheckUtils]: 84: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L290 TraceCheckUtils]: 85: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:17,033 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 03:38:17,033 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 03:38:17,033 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 03:38:17,033 INFO L290 TraceCheckUtils]: 91: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L290 TraceCheckUtils]: 92: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L290 TraceCheckUtils]: 93: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:17,033 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:17,033 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 03:38:17,033 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 03:38:17,033 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 03:38:17,034 INFO L290 TraceCheckUtils]: 99: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 03:38:17,034 INFO L290 TraceCheckUtils]: 100: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-08 03:38:17,034 INFO L290 TraceCheckUtils]: 101: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-08 03:38:17,034 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:17,034 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:17,034 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 03:38:17,034 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 03:38:17,034 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 03:38:17,034 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 03:38:17,034 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-08 03:38:17,034 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-08 03:38:17,035 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 03:38:17,035 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:38:18,286 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-08 03:38:18,696 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 03:38:18,797 INFO L356 Elim1Store]: treesize reduction 78, result has 41.4 percent of original size [2022-04-08 03:38:18,798 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 03:38:25,947 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 03:38:26,119 INFO L356 Elim1Store]: treesize reduction 109, result has 56.6 percent of original size [2022-04-08 03:38:26,119 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 03:38:41,898 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-08 03:38:41,898 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-08 03:38:41,898 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-08 03:38:41,898 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 03:38:41,898 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 03:38:41,898 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 03:38:41,898 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:41,898 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:41,899 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:41,899 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:41,899 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:41,899 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 03:38:41,899 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 03:38:41,899 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 03:38:41,899 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:41,899 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:41,899 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:41,899 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:41,899 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:41,900 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 03:38:41,900 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 03:38:41,900 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 03:38:41,900 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:41,900 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:41,900 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:41,900 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:41,900 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:41,900 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 03:38:41,900 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 03:38:41,900 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 03:38:41,900 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-08 03:38:41,900 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-08 03:38:41,901 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-08 03:38:41,901 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-08 03:38:41,901 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-08 03:38:41,901 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 03:38:41,901 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 03:38:41,901 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-08 03:38:41,902 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 03:38:41,902 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 03:38:41,903 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 03:38:41,903 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 03:38:41,904 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 03:38:41,904 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 03:38:41,905 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 03:38:41,905 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 03:38:41,906 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 03:38:41,906 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 03:38:41,907 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 03:38:41,907 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 03:38:41,908 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 03:38:41,908 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 03:38:41,909 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 03:38:41,910 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 03:38:41,910 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 03:38:41,910 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 03:38:41,911 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 03:38:41,912 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 03:38:41,912 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 03:38:41,912 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 03:38:41,913 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 03:38:41,914 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 03:38:41,914 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 03:38:41,915 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 03:38:41,915 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 03:38:41,915 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 03:38:41,916 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 03:38:41,917 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 03:38:41,918 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 03:38:41,918 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 03:38:41,919 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 03:38:41,920 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 03:38:41,920 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 03:38:41,921 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 03:38:41,922 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 03:38:41,923 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 03:38:41,924 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 03:38:41,925 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 03:38:41,926 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 03:38:41,927 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 03:38:41,928 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 03:38:41,930 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 03:38:41,931 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 03:38:41,933 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 03:38:41,934 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 03:38:41,935 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 03:38:41,936 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 03:38:41,937 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 03:38:41,939 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 03:38:41,941 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 03:38:41,941 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 03:38:41,942 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 03:38:41,942 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 03:38:41,943 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 03:38:41,943 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 03:38:41,943 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 03:38:41,944 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 03:38:41,944 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 03:38:41,945 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 03:38:41,945 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 03:38:41,947 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 03:38:41,947 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 03:38:41,948 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 03:38:41,948 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 03:38:41,949 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 03:38:41,949 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 03:38:41,949 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 03:38:41,950 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 03:38:41,950 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 03:38:41,951 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-08 03:38:41,951 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 03:38:41,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [481684919] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:38:41,952 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:38:41,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 22, 25] total 69 [2022-04-08 03:38:41,952 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:38:41,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1637122603] [2022-04-08 03:38:41,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1637122603] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:38:41,952 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:38:41,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-08 03:38:41,952 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281611517] [2022-04-08 03:38:41,952 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:38:41,952 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 03:38:41,953 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:38:41,953 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 03:38:42,003 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 03:38:42,004 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-08 03:38:42,004 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:38:42,004 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-08 03:38:42,005 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=408, Invalid=4284, Unknown=0, NotChecked=0, Total=4692 [2022-04-08 03:38:42,005 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 03:38:59,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:38:59,483 INFO L93 Difference]: Finished difference Result 1276 states and 1722 transitions. [2022-04-08 03:38:59,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 73 states. [2022-04-08 03:38:59,483 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 03:38:59,483 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:38:59,483 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 03:38:59,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-08 03:38:59,485 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 03:38:59,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-08 03:38:59,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 193 transitions. [2022-04-08 03:38:59,738 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 03:38:59,774 INFO L225 Difference]: With dead ends: 1276 [2022-04-08 03:38:59,774 INFO L226 Difference]: Without dead ends: 954 [2022-04-08 03:38:59,776 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 332 GetRequests, 195 SyntacticMatches, 1 SemanticMatches, 136 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5575 ImplicationChecksByTransitivity, 8.2s TimeCoverageRelationStatistics Valid=1857, Invalid=17049, Unknown=0, NotChecked=0, Total=18906 [2022-04-08 03:38:59,776 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 194 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 860 mSolverCounterSat, 281 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 195 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 1141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 281 IncrementalHoareTripleChecker+Valid, 860 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 03:38:59,776 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 03:38:59,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 954 states. [2022-04-08 03:39:05,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 954 to 611. [2022-04-08 03:39:05,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:39:05,353 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 03:39:05,354 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 03:39:05,354 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 03:39:05,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:39:05,380 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-08 03:39:05,380 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-08 03:39:05,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:39:05,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:39:05,382 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 03:39:05,382 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 03:39:05,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:39:05,408 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-08 03:39:05,408 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-08 03:39:05,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:39:05,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:39:05,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:39:05,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:39:05,410 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 03:39:05,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 611 states to 611 states and 831 transitions. [2022-04-08 03:39:05,435 INFO L78 Accepts]: Start accepts. Automaton has 611 states and 831 transitions. Word has length 110 [2022-04-08 03:39:05,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:39:05,435 INFO L478 AbstractCegarLoop]: Abstraction has 611 states and 831 transitions. [2022-04-08 03:39:05,435 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 03:39:05,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 611 states and 831 transitions. [2022-04-08 03:39:09,069 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 03:39:09,070 INFO L276 IsEmpty]: Start isEmpty. Operand 611 states and 831 transitions. [2022-04-08 03:39:09,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:39:09,070 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:39:09,071 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 03:39:09,091 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-08 03:39:09,279 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 03:39:09,279 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:39:09,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:39:09,280 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 13 times [2022-04-08 03:39:09,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:39:09,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2093421627] [2022-04-08 03:39:09,282 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:39:09,282 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:39:09,282 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:39:09,282 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 14 times [2022-04-08 03:39:09,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:39:09,283 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [894608114] [2022-04-08 03:39:09,283 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:39:09,283 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:39:09,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:09,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:39:09,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:09,362 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 03:39:09,362 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 03:39:09,362 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 03:39:09,365 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:39:09,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:09,869 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 03:39:09,869 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 03:39:09,870 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 03:39:09,870 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 03:39:09,871 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 03:39:09,871 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 03:39:09,872 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 03:39:09,873 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 03:39:09,873 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 03:39:09,874 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 03:39:09,875 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 03:39:09,875 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 03:39:09,876 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 03:39:09,877 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 03:39:09,877 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 03:39:09,878 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 03:39:09,879 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 03:39:09,880 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 03:39:09,881 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 03:39:09,881 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 03:39:09,881 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 03:39:09,882 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 03:39:09,882 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 03:39:09,882 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 03:39:09,883 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 03:39:09,883 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 03:39:09,883 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 03:39:09,883 INFO L290 TraceCheckUtils]: 27: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,883 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 03:39:09,883 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 03:39:09,883 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 03:39:09,883 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 03:39:09,883 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 03:39:09,884 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 03:39:09,884 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 03:39:09,884 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 03:39:09,884 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 03:39:09,884 INFO L290 TraceCheckUtils]: 37: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,884 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 03:39:09,884 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 03:39:09,884 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 03:39:09,884 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 03:39:09,884 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 03:39:09,884 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 03:39:09,884 INFO L290 TraceCheckUtils]: 44: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,884 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 03:39:09,884 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 03:39:09,884 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 03:39:09,885 INFO L290 TraceCheckUtils]: 48: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,885 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 03:39:09,885 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 03:39:09,885 INFO L290 TraceCheckUtils]: 51: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,885 INFO L290 TraceCheckUtils]: 52: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-08 03:39:09,885 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 03:39:09,885 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:39:09,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:09,887 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,887 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,888 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:39:09,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:09,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:39:09,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:09,891 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,892 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:39:09,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:09,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,894 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,894 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 03:39:09,895 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 03:39:09,895 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 03:39:09,896 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 03:39:09,896 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 03:39:09,896 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 03:39:09,897 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 03:39:09,897 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 03:39:09,898 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 03:39:09,898 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 03:39:09,898 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 03:39:09,899 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 03:39:09,899 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 03:39:09,899 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 03:39:09,900 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 03:39:09,900 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 03:39:09,900 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 03:39:09,901 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 03:39:09,901 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 03:39:09,901 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 03:39:09,902 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 03:39:09,902 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 03:39:09,903 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 03:39:09,903 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 03:39:09,904 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 03:39:09,905 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 03:39:09,905 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 03:39:09,906 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 03:39:09,907 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 03:39:09,907 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 03:39:09,908 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 03:39:09,909 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 03:39:09,909 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 03:39:09,910 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 03:39:09,911 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 03:39:09,912 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 03:39:09,912 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 03:39:09,913 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 03:39:09,913 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 03:39:09,914 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 03:39:09,914 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 03:39:09,914 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 INFO L290 TraceCheckUtils]: 45: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,915 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 03:39:09,916 INFO L290 TraceCheckUtils]: 55: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,916 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 03:39:09,916 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 03:39:09,916 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 03:39:09,916 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 03:39:09,916 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 03:39:09,916 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 03:39:09,916 INFO L290 TraceCheckUtils]: 62: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,916 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 03:39:09,916 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 03:39:09,916 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 03:39:09,916 INFO L290 TraceCheckUtils]: 66: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,916 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 03:39:09,916 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 03:39:09,916 INFO L290 TraceCheckUtils]: 69: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-08 03:39:09,917 INFO L290 TraceCheckUtils]: 70: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-08 03:39:09,917 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 03:39:09,917 INFO L290 TraceCheckUtils]: 72: Hoare triple {52435#false} ~i~1 := 0; {52435#false} is VALID [2022-04-08 03:39:09,917 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 03:39:09,917 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 03:39:09,917 INFO L290 TraceCheckUtils]: 75: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,917 INFO L290 TraceCheckUtils]: 76: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,917 INFO L290 TraceCheckUtils]: 77: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,917 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,917 INFO L290 TraceCheckUtils]: 79: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 03:39:09,917 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 03:39:09,917 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 03:39:09,917 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 03:39:09,917 INFO L290 TraceCheckUtils]: 83: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,917 INFO L290 TraceCheckUtils]: 84: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,918 INFO L290 TraceCheckUtils]: 85: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,918 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,918 INFO L290 TraceCheckUtils]: 87: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 03:39:09,918 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 03:39:09,918 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 03:39:09,918 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 03:39:09,918 INFO L290 TraceCheckUtils]: 91: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,929 INFO L290 TraceCheckUtils]: 92: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,929 INFO L290 TraceCheckUtils]: 93: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,929 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,929 INFO L290 TraceCheckUtils]: 95: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 03:39:09,929 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 03:39:09,929 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 03:39:09,929 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 03:39:09,929 INFO L290 TraceCheckUtils]: 99: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-08 03:39:09,929 INFO L290 TraceCheckUtils]: 100: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-08 03:39:09,929 INFO L290 TraceCheckUtils]: 101: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-08 03:39:09,930 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-08 03:39:09,930 INFO L290 TraceCheckUtils]: 103: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-08 03:39:09,930 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 03:39:09,930 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 03:39:09,930 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 03:39:09,930 INFO L290 TraceCheckUtils]: 107: Hoare triple {52435#false} ~cond := #in~cond; {52435#false} is VALID [2022-04-08 03:39:09,930 INFO L290 TraceCheckUtils]: 108: Hoare triple {52435#false} assume 0 == ~cond; {52435#false} is VALID [2022-04-08 03:39:09,930 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-08 03:39:09,930 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 03:39:09,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:39:09,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [894608114] [2022-04-08 03:39:09,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [894608114] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:39:09,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1237183964] [2022-04-08 03:39:09,931 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:39:09,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:39:09,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:39:09,935 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 03:39:09,936 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 03:39:10,091 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:39:10,092 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:39:10,094 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 03:39:10,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:10,115 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:39:10,169 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:39:10,170 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 03:39:10,203 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 03:39:10,283 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:39:10,283 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 03:39:10,350 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:39:10,350 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 03:39:10,417 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:39:10,417 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 03:39:10,503 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:39:10,503 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 03:39:11,034 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-08 03:39:12,433 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:39:12,434 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 03:39:12,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {52434#true} call ULTIMATE.init(); {52434#true} is VALID [2022-04-08 03:39:12,521 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 03:39:12,522 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 03:39:12,522 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 03:39:12,523 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 03:39:12,523 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 03:39:12,524 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 03:39:12,524 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 03:39:12,525 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 03:39:12,525 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 03:39:12,526 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 03:39:12,526 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 03:39:12,527 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 03:39:12,527 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 03:39:12,528 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 03:39:12,528 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 03:39:12,529 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 03:39:12,529 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 03:39:12,529 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 03:39:12,530 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 03:39:12,530 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 03:39:12,530 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 03:39:12,531 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 03:39:12,531 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 03:39:12,531 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 03:39:12,532 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 03:39:12,532 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 03:39:12,533 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 03:39:12,533 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 03:39:12,533 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 03:39:12,534 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 03:39:12,534 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 03:39:12,534 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 03:39:12,535 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 03:39:12,535 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 03:39:12,536 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 03:39:12,536 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 03:39:12,537 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 03:39:12,537 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 03:39:12,538 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 03:39:12,538 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 03:39:12,539 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 03:39:12,539 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 03:39:12,540 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 03:39:12,540 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 03:39:12,541 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 03:39:12,549 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 03:39:12,549 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 03:39:12,550 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 03:39:12,551 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 03:39:12,551 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 03:39:12,552 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 03:39:12,552 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 03:39:12,553 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 03:39:12,553 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 03:39:12,554 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 03:39:12,555 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 03:39:12,556 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 03:39:12,556 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 03:39:12,557 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 03:39:12,558 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 03:39:12,558 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 03:39:12,558 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 03:39:12,560 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 03:39:12,561 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 03:39:12,561 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 03:39:12,562 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 03:39:12,563 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 03:39:12,564 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 03:39:12,564 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 03:39:12,565 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 03:39:12,565 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 03:39:12,566 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 03:39:12,566 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 03:39:12,567 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 03:39:12,567 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 03:39:12,568 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 03:39:12,568 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 03:39:12,569 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 03:39:12,569 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 03:39:12,570 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 03:39:12,570 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 03:39:12,571 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 03:39:12,571 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 03:39:12,572 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 03:39:12,572 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 03:39:12,572 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 03:39:12,573 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 03:39:12,573 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 03:39:12,574 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 03:39:12,575 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 03:39:12,575 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 03:39:12,575 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 03:39:12,576 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 03:39:12,576 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 03:39:12,577 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 03:39:12,577 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 03:39:12,577 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 03:39:12,578 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 03:39:12,579 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 03:39:12,579 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 03:39:12,579 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 03:39:12,580 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 03:39:12,580 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 03:39:12,581 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 03:39:12,581 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 03:39:12,582 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 03:39:12,582 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 03:39:12,582 INFO L290 TraceCheckUtils]: 108: Hoare triple {52872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {52435#false} is VALID [2022-04-08 03:39:12,582 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-08 03:39:12,583 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 03:39:12,583 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:39:12,928 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 03:39:12,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1237183964] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:39:12,929 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:39:12,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-08 03:39:12,929 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:39:12,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2093421627] [2022-04-08 03:39:12,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2093421627] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:39:12,930 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:39:12,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 03:39:12,930 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [778148810] [2022-04-08 03:39:12,930 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:39:12,930 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 03:39:12,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:39:12,930 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 03:39:12,972 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 03:39:12,972 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 03:39:12,972 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:39:12,973 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 03:39:12,974 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=197, Invalid=2149, Unknown=10, NotChecked=94, Total=2450 [2022-04-08 03:39:12,974 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 03:39:29,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:39:29,060 INFO L93 Difference]: Finished difference Result 1355 states and 1832 transitions. [2022-04-08 03:39:29,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 57 states. [2022-04-08 03:39:29,060 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 03:39:29,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:39:29,061 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 03:39:29,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-08 03:39:29,063 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 03:39:29,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-08 03:39:29,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 179 transitions. [2022-04-08 03:39:29,285 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 03:39:29,323 INFO L225 Difference]: With dead ends: 1355 [2022-04-08 03:39:29,323 INFO L226 Difference]: Without dead ends: 973 [2022-04-08 03:39:29,324 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 122 SyntacticMatches, 12 SemanticMatches, 102 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 3126 ImplicationChecksByTransitivity, 3.9s TimeCoverageRelationStatistics Valid=1312, Invalid=9188, Unknown=10, NotChecked=202, Total=10712 [2022-04-08 03:39:29,324 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 288 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 251 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 288 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 251 IncrementalHoareTripleChecker+Valid, 466 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 03:39:29,325 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [288 Valid, 31 Invalid, 717 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [251 Valid, 466 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 03:39:29,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 973 states. [2022-04-08 03:39:38,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 973 to 824. [2022-04-08 03:39:38,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:39:38,559 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 03:39:38,560 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 03:39:38,560 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 03:39:38,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:39:38,589 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-08 03:39:38,589 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-08 03:39:38,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:39:38,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:39:38,591 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 03:39:38,592 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 03:39:38,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:39:38,627 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-08 03:39:38,627 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-08 03:39:38,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:39:38,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:39:38,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:39:38,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:39:38,629 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 03:39:38,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 1123 transitions. [2022-04-08 03:39:38,657 INFO L78 Accepts]: Start accepts. Automaton has 824 states and 1123 transitions. Word has length 110 [2022-04-08 03:39:38,657 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:39:38,657 INFO L478 AbstractCegarLoop]: Abstraction has 824 states and 1123 transitions. [2022-04-08 03:39:38,657 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 03:39:38,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 824 states and 1123 transitions. [2022-04-08 03:39:44,195 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 03:39:44,195 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 1123 transitions. [2022-04-08 03:39:44,196 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:39:44,196 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:39:44,197 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 03:39:44,213 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Ended with exit code 0 [2022-04-08 03:39:44,408 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 03:39:44,409 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:39:44,409 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:39:44,409 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 15 times [2022-04-08 03:39:44,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:39:44,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1360649146] [2022-04-08 03:39:44,412 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:39:44,412 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:39:44,412 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:39:44,412 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 16 times [2022-04-08 03:39:44,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:39:44,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1042633735] [2022-04-08 03:39:44,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:39:44,412 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:39:44,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:44,953 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:39:44,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:44,982 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 03:39:44,982 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 03:39:44,983 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 03:39:44,990 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:39:45,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:45,524 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 03:39:45,524 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 03:39:45,525 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 03:39:45,525 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 03:39:45,526 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 03:39:45,526 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 03:39:45,527 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 03:39:45,528 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 03:39:45,529 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 03:39:45,529 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 03:39:45,530 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 03:39:45,531 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 03:39:45,532 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 03:39:45,532 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 03:39:45,533 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 03:39:45,535 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 03:39:45,535 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 03:39:45,536 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 03:39:45,536 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 03:39:45,536 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 03:39:45,537 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 03:39:45,537 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 03:39:45,538 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 03:39:45,538 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 03:39:45,538 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 03:39:45,539 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 03:39:45,539 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 03:39:45,540 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 03:39:45,540 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 03:39:45,540 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 03:39:45,541 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 03:39:45,541 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 03:39:45,542 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 03:39:45,542 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 03:39:45,543 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 03:39:45,543 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 03:39:45,543 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 03:39:45,544 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 03:39:45,544 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 03:39:45,545 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 03:39:45,545 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 03:39:45,545 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 03:39:45,546 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 03:39:45,546 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 03:39:45,547 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 03:39:45,547 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 03:39:45,547 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 03:39:45,548 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 03:39:45,548 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 03:39:45,549 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 03:39:45,549 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 03:39:45,549 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 03:39:45,550 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 03:39:45,551 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 03:39:45,551 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:39:45,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:45,555 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,555 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:39:45,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:45,563 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:39:45,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:45,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:39:45,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:45,568 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,569 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 03:39:45,570 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 03:39:45,570 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 03:39:45,571 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 03:39:45,571 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 03:39:45,572 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 03:39:45,573 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 03:39:45,574 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 03:39:45,574 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 03:39:45,575 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 03:39:45,576 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 03:39:45,577 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 03:39:45,578 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 03:39:45,578 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 03:39:45,579 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 03:39:45,579 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 03:39:45,580 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 03:39:45,580 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 03:39:45,581 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 03:39:45,582 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 03:39:45,582 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 03:39:45,582 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 03:39:45,583 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 03:39:45,583 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 03:39:45,584 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 03:39:45,585 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 03:39:45,586 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 03:39:45,600 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 03:39:45,602 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 03:39:45,603 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 03:39:45,604 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 03:39:45,604 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 03:39:45,605 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 03:39:45,606 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 03:39:45,606 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 03:39:45,607 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 03:39:45,607 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 03:39:45,608 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 03:39:45,608 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 03:39:45,609 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 03:39:45,609 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 03:39:45,609 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 03:39:45,610 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 03:39:45,610 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 03:39:45,611 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 03:39:45,611 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 03:39:45,612 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 03:39:45,612 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 03:39:45,613 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 03:39:45,613 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 03:39:45,613 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 03:39:45,614 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 03:39:45,614 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 03:39:45,615 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 03:39:45,615 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 03:39:45,616 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 03:39:45,616 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 03:39:45,616 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 03:39:45,617 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 03:39:45,617 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 03:39:45,618 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 03:39:45,618 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 03:39:45,618 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 03:39:45,619 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 03:39:45,619 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 03:39:45,620 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 03:39:45,620 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 03:39:45,621 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 03:39:45,621 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 03:39:45,622 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 03:39:45,622 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 03:39:45,623 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 03:39:45,623 INFO L290 TraceCheckUtils]: 72: Hoare triple {59417#false} ~i~1 := 0; {59417#false} is VALID [2022-04-08 03:39:45,623 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 03:39:45,623 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 03:39:45,623 INFO L290 TraceCheckUtils]: 75: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,623 INFO L290 TraceCheckUtils]: 76: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,623 INFO L290 TraceCheckUtils]: 77: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,624 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,624 INFO L290 TraceCheckUtils]: 79: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 03:39:45,624 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 03:39:45,624 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 03:39:45,624 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 03:39:45,624 INFO L290 TraceCheckUtils]: 83: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,624 INFO L290 TraceCheckUtils]: 84: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,624 INFO L290 TraceCheckUtils]: 85: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,624 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,624 INFO L290 TraceCheckUtils]: 87: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 03:39:45,624 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 03:39:45,625 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 03:39:45,625 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 03:39:45,625 INFO L290 TraceCheckUtils]: 91: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,625 INFO L290 TraceCheckUtils]: 92: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,625 INFO L290 TraceCheckUtils]: 93: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,625 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,625 INFO L290 TraceCheckUtils]: 95: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 03:39:45,625 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 03:39:45,625 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 03:39:45,625 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 03:39:45,625 INFO L290 TraceCheckUtils]: 99: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-08 03:39:45,625 INFO L290 TraceCheckUtils]: 100: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-08 03:39:45,626 INFO L290 TraceCheckUtils]: 101: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-08 03:39:45,626 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-08 03:39:45,626 INFO L290 TraceCheckUtils]: 103: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-08 03:39:45,626 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 03:39:45,626 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 03:39:45,626 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 03:39:45,626 INFO L290 TraceCheckUtils]: 107: Hoare triple {59417#false} ~cond := #in~cond; {59417#false} is VALID [2022-04-08 03:39:45,626 INFO L290 TraceCheckUtils]: 108: Hoare triple {59417#false} assume 0 == ~cond; {59417#false} is VALID [2022-04-08 03:39:45,626 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-08 03:39:45,627 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 03:39:45,627 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:39:45,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1042633735] [2022-04-08 03:39:45,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1042633735] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:39:45,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1152127161] [2022-04-08 03:39:45,628 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:39:45,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:39:45,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:39:45,629 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 03:39:45,630 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 03:39:45,834 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:39:45,834 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:39:45,836 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-08 03:39:45,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:39:45,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:39:45,908 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:39:45,909 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 03:39:45,937 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 03:39:46,011 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:39:46,011 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 03:39:46,081 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:39:46,081 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-08 03:39:46,140 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:39:46,140 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 03:39:46,205 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:39:46,206 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 03:39:47,054 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 03:39:52,557 INFO L356 Elim1Store]: treesize reduction 14, result has 17.6 percent of original size [2022-04-08 03:39:52,558 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 03:39:52,720 INFO L272 TraceCheckUtils]: 0: Hoare triple {59416#true} call ULTIMATE.init(); {59416#true} is VALID [2022-04-08 03:39:52,721 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 03:39:52,721 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 03:39:52,722 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 03:39:52,722 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 03:39:52,723 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 03:39:52,723 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 03:39:52,724 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 03:39:52,725 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 03:39:52,726 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 03:39:52,727 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 03:39:52,727 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 03:39:52,728 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 03:39:52,729 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 03:39:52,730 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 03:39:52,732 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 03:39:52,733 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 03:39:52,733 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 03:39:52,734 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 03:39:52,734 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 03:39:52,735 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 03:39:52,735 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 03:39:52,735 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 03:39:52,736 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 03:39:52,736 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 03:39:52,737 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 03:39:52,737 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 03:39:52,737 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 03:39:52,738 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 03:39:52,738 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 03:39:52,738 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 03:39:52,739 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 03:39:52,739 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 03:39:52,740 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 03:39:52,740 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 03:39:52,741 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 03:39:52,742 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 03:39:52,742 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 03:39:52,743 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 03:39:52,744 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 03:39:52,744 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 03:39:52,745 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 03:39:52,745 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 03:39:52,747 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 03:39:52,748 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 03:39:52,748 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 03:39:52,750 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 03:39:52,751 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 03:39:52,752 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 03:39:52,752 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 03:39:52,753 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 03:39:52,754 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 03:39:52,754 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 03:39:52,755 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 03:39:52,755 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 03:39:52,756 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 03:39:52,758 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 03:39:52,759 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 03:39:52,759 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 03:39:52,760 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 03:39:52,761 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 03:39:52,761 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 03:39:52,762 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 03:39:52,764 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 03:39:52,764 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 03:39:52,765 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 03:39:52,766 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 03:39:52,767 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 03:39:52,768 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 03:39:52,768 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 03:39:52,769 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 03:39:52,771 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 03:39:52,772 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 03:39:52,773 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 03:39:52,774 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 03:39:52,790 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 03:39:52,791 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 03:39:52,793 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 03:39:52,794 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 03:39:52,795 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 03:39:52,795 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 03:39:52,796 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 03:39:52,797 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 03:39:52,802 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 03:39:52,803 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 03:39:52,804 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 03:39:52,805 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 03:39:52,806 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 03:39:52,806 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 03:39:52,807 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 03:39:52,809 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 03:39:52,834 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 03:39:52,837 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 03:39:52,838 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 03:39:52,839 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 03:39:52,839 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 03:39:52,840 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 03:39:52,841 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 03:39:52,842 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 03:39:52,846 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 03:39:52,850 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 03:39:52,855 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 03:39:52,856 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 03:39:52,857 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 03:39:52,858 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 03:39:52,859 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 03:39:52,859 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 03:39:52,860 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 03:39:52,860 INFO L290 TraceCheckUtils]: 108: Hoare triple {59857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {59417#false} is VALID [2022-04-08 03:39:52,860 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-08 03:39:52,861 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 03:39:52,861 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:39:53,256 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 03:39:53,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1152127161] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:39:53,260 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:39:53,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 24] total 45 [2022-04-08 03:39:53,260 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:39:53,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1360649146] [2022-04-08 03:39:53,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1360649146] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:39:53,260 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:39:53,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 03:39:53,260 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1174083928] [2022-04-08 03:39:53,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:39:53,261 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 03:39:53,261 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:39:53,261 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 03:39:53,308 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 03:39:53,308 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 03:39:53,308 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:39:53,308 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 03:39:53,309 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=2475, Unknown=13, NotChecked=100, Total=2756 [2022-04-08 03:39:53,309 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 03:40:04,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:40:04,834 INFO L93 Difference]: Finished difference Result 1560 states and 2143 transitions. [2022-04-08 03:40:04,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 03:40:04,834 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 03:40:04,834 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:40:04,834 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 03:40:04,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-08 03:40:04,835 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 03:40:04,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-08 03:40:04,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 87 transitions. [2022-04-08 03:40:04,923 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 03:40:04,948 INFO L225 Difference]: With dead ends: 1560 [2022-04-08 03:40:04,948 INFO L226 Difference]: Without dead ends: 803 [2022-04-08 03:40:04,949 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 123 SyntacticMatches, 13 SemanticMatches, 70 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1524 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=383, Invalid=4547, Unknown=44, NotChecked=138, Total=5112 [2022-04-08 03:40:04,950 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 03:40:04,950 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 03:40:04,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 803 states. [2022-04-08 03:40:13,723 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 803 to 799. [2022-04-08 03:40:13,723 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:40:13,724 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 03:40:13,724 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 03:40:13,725 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 03:40:13,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:40:13,747 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-08 03:40:13,747 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-08 03:40:13,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:40:13,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:40:13,749 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 03:40:13,749 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 03:40:13,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:40:13,769 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-08 03:40:13,770 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-08 03:40:13,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:40:13,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:40:13,770 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:40:13,770 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:40:13,771 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 03:40:13,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 799 states to 799 states and 1093 transitions. [2022-04-08 03:40:13,803 INFO L78 Accepts]: Start accepts. Automaton has 799 states and 1093 transitions. Word has length 110 [2022-04-08 03:40:13,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:40:13,807 INFO L478 AbstractCegarLoop]: Abstraction has 799 states and 1093 transitions. [2022-04-08 03:40:13,807 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 03:40:13,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 799 states and 1093 transitions. [2022-04-08 03:40:19,282 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 03:40:19,282 INFO L276 IsEmpty]: Start isEmpty. Operand 799 states and 1093 transitions. [2022-04-08 03:40:19,283 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:40:19,283 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:40:19,283 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 03:40:19,300 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 03:40:19,487 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 03:40:19,488 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:40:19,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:40:19,488 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 17 times [2022-04-08 03:40:19,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:40:19,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [273790787] [2022-04-08 03:40:19,490 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:40:19,490 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:40:19,490 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:40:19,490 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 18 times [2022-04-08 03:40:19,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:40:19,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1836294456] [2022-04-08 03:40:19,491 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:40:19,491 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:40:19,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:19,559 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:40:19,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:19,566 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 03:40:19,567 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 03:40:19,567 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 03:40:19,570 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:40:19,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:20,010 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 03:40:20,010 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 03:40:20,011 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 03:40:20,011 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 03:40:20,012 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 03:40:20,013 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 03:40:20,013 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 03:40:20,014 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 03:40:20,014 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 03:40:20,015 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 03:40:20,015 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 03:40:20,016 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 03:40:20,016 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 03:40:20,017 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 03:40:20,017 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 03:40:20,018 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 03:40:20,019 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 03:40:20,019 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 03:40:20,020 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 03:40:20,020 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 03:40:20,021 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 03:40:20,021 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 03:40:20,022 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 03:40:20,022 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 03:40:20,022 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 03:40:20,022 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 03:40:20,022 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 03:40:20,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,022 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 03:40:20,022 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 03:40:20,022 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 03:40:20,022 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 03:40:20,022 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 03:40:20,023 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 03:40:20,023 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 03:40:20,023 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 03:40:20,023 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 03:40:20,023 INFO L290 TraceCheckUtils]: 37: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,023 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 03:40:20,023 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 03:40:20,023 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 03:40:20,023 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 03:40:20,023 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 03:40:20,023 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 03:40:20,023 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,023 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 03:40:20,023 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 03:40:20,023 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 03:40:20,024 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,024 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 03:40:20,024 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 03:40:20,024 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,024 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 03:40:20,024 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 03:40:20,024 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:40:20,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:20,026 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:40:20,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:20,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,040 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:40:20,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:20,042 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,042 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:40:20,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:20,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,045 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 03:40:20,045 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 03:40:20,046 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 03:40:20,046 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 03:40:20,047 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 03:40:20,047 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 03:40:20,048 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 03:40:20,048 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 03:40:20,048 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 03:40:20,049 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 03:40:20,049 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 03:40:20,049 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 03:40:20,050 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 03:40:20,050 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 03:40:20,051 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 03:40:20,051 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 03:40:20,051 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 03:40:20,052 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 03:40:20,052 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 03:40:20,052 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 03:40:20,053 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 03:40:20,053 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 03:40:20,054 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 03:40:20,055 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 03:40:20,055 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 03:40:20,056 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 03:40:20,057 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 03:40:20,057 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 03:40:20,058 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 03:40:20,058 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 03:40:20,059 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 03:40:20,059 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 03:40:20,060 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 03:40:20,061 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 03:40:20,061 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 03:40:20,062 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 03:40:20,063 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 03:40:20,063 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 03:40:20,064 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 03:40:20,065 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 03:40:20,065 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 03:40:20,065 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 03:40:20,065 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 03:40:20,065 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 03:40:20,065 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 03:40:20,065 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,066 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 03:40:20,067 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,067 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 03:40:20,067 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 03:40:20,067 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 03:40:20,067 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,067 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 03:40:20,067 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 03:40:20,067 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:20,067 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 03:40:20,067 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 03:40:20,067 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-08 03:40:20,067 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 03:40:20,067 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 03:40:20,067 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,067 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,068 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,068 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,068 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:20,068 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 03:40:20,068 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 03:40:20,068 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 03:40:20,068 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,068 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,068 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,068 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,068 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:20,068 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 03:40:20,068 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 03:40:20,068 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 03:40:20,068 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,069 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,069 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,069 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,069 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:20,069 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 03:40:20,069 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 03:40:20,069 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 03:40:20,069 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:20,069 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:20,069 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:20,069 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:20,069 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:20,069 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 03:40:20,069 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 03:40:20,069 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 03:40:20,070 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 03:40:20,070 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-08 03:40:20,070 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-08 03:40:20,070 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 03:40:20,070 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:40:20,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1836294456] [2022-04-08 03:40:20,070 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1836294456] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:40:20,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1974354122] [2022-04-08 03:40:20,071 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:40:20,071 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:40:20,071 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:40:20,084 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 03:40:20,084 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 03:40:20,272 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-08 03:40:20,272 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:40:20,274 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 03:40:20,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:40:20,303 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:40:21,132 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:40:21,133 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:40:21,134 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:40:21,137 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 03:40:21,138 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 03:40:22,032 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:40:22,033 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 03:40:22,034 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:40:22,034 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:40:22,037 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 03:40:22,037 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 03:40:22,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-08 03:40:22,240 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 03:40:22,240 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 03:40:22,240 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 03:40:22,241 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 03:40:22,241 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 03:40:22,241 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 03:40:22,242 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 03:40:22,242 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 03:40:22,242 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 03:40:22,243 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 03:40:22,243 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 03:40:22,243 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 03:40:22,244 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 03:40:22,244 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 03:40:22,244 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 03:40:22,245 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 03:40:22,245 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 03:40:22,245 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 03:40:22,246 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 03:40:22,246 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 03:40:22,247 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 03:40:22,247 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 03:40:22,248 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 03:40:22,248 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 03:40:22,249 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 03:40:22,249 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 03:40:22,250 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 03:40:22,250 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 03:40:22,251 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 03:40:22,251 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 03:40:22,252 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 03:40:22,252 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 03:40:22,253 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 03:40:22,254 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 03:40:22,255 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 03:40:22,256 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 03:40:22,257 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 03:40:22,258 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 03:40:22,259 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 03:40:22,259 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 03:40:22,259 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 03:40:22,259 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 03:40:22,259 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 03:40:22,260 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 03:40:22,260 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,260 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 03:40:22,261 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 03:40:22,261 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 03:40:22,261 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:22,261 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 03:40:22,261 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 03:40:22,261 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 03:40:22,261 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:22,261 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 03:40:22,261 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 03:40:22,261 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-08 03:40:22,261 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 03:40:22,261 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 03:40:22,261 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-08 03:40:22,261 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 03:40:22,261 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 03:40:22,262 INFO L290 TraceCheckUtils]: 75: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L290 TraceCheckUtils]: 76: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L290 TraceCheckUtils]: 77: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:22,262 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 03:40:22,262 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 03:40:22,262 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 03:40:22,262 INFO L290 TraceCheckUtils]: 83: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L290 TraceCheckUtils]: 84: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L290 TraceCheckUtils]: 85: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:22,262 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:22,262 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 03:40:22,262 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 03:40:22,263 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 03:40:22,263 INFO L290 TraceCheckUtils]: 91: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L290 TraceCheckUtils]: 92: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L290 TraceCheckUtils]: 93: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:22,263 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 03:40:22,263 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 03:40:22,263 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 03:40:22,263 INFO L290 TraceCheckUtils]: 99: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L290 TraceCheckUtils]: 100: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L290 TraceCheckUtils]: 101: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:22,263 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:22,263 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 03:40:22,264 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 03:40:22,264 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 03:40:22,264 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 03:40:22,264 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-08 03:40:22,264 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-08 03:40:22,264 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 03:40:22,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:40:23,826 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 03:40:23,936 INFO L356 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2022-04-08 03:40:23,936 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 03:40:40,513 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 03:40:40,682 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-08 03:40:40,683 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 03:40:46,677 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-08 03:40:46,678 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-08 03:40:46,678 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-08 03:40:46,678 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 03:40:46,678 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 03:40:46,678 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 03:40:46,678 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:46,678 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:46,678 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:46,678 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:46,678 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:46,688 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 03:40:46,688 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 03:40:46,689 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 03:40:46,689 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:46,689 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:46,689 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:46,689 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:46,689 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:46,689 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 03:40:46,689 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 03:40:46,697 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 03:40:46,697 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:46,697 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:46,697 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:46,697 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:46,697 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:46,697 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 03:40:46,697 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 03:40:46,697 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 03:40:46,697 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-08 03:40:46,697 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-08 03:40:46,697 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-08 03:40:46,698 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-08 03:40:46,698 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-08 03:40:46,698 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 03:40:46,698 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 03:40:46,698 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-08 03:40:46,700 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 03:40:46,700 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 03:40:46,700 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 03:40:46,701 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 03:40:46,701 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 03:40:46,701 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 03:40:46,702 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 03:40:46,702 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 03:40:46,702 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 03:40:46,703 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 03:40:46,703 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 03:40:46,703 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 03:40:46,704 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 03:40:46,704 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 03:40:46,704 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 03:40:46,705 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 03:40:46,705 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 03:40:46,710 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 03:40:46,711 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 03:40:46,711 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 03:40:46,712 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 03:40:46,712 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 03:40:46,712 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 03:40:46,713 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 03:40:46,713 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 03:40:46,714 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 03:40:46,714 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 03:40:46,714 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 03:40:46,715 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 03:40:46,715 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 03:40:46,715 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 03:40:46,716 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 03:40:46,716 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 03:40:46,717 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 03:40:46,717 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 03:40:46,718 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 03:40:46,719 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 03:40:46,720 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 03:40:46,722 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 03:40:46,723 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 03:40:46,724 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 03:40:46,724 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 03:40:46,725 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 03:40:46,726 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 03:40:46,728 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 03:40:46,729 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 03:40:46,729 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 03:40:46,730 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 03:40:46,731 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 03:40:46,731 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 03:40:46,733 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 03:40:46,737 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 03:40:46,738 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 03:40:46,739 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 03:40:46,739 INFO L272 TraceCheckUtils]: 17: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call SelectionSort(); {66351#true} is VALID [2022-04-08 03:40:46,739 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 03:40:46,739 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 03:40:46,740 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 03:40:46,740 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 03:40:46,740 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 03:40:46,741 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 03:40:46,741 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 03:40:46,741 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 03:40:46,742 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 03:40:46,742 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 03:40:46,742 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 03:40:46,743 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 03:40:46,743 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 03:40:46,743 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 03:40:46,744 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 03:40:46,744 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 03:40:46,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-08 03:40:46,745 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 03:40:46,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1974354122] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:40:46,745 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:40:46,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 57 [2022-04-08 03:40:46,745 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:40:46,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [273790787] [2022-04-08 03:40:46,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [273790787] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:40:46,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:40:46,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 03:40:46,746 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1350881725] [2022-04-08 03:40:46,746 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:40:46,746 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 03:40:46,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:40:46,746 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 03:40:46,785 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 03:40:46,785 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 03:40:46,785 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:40:46,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 03:40:46,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=333, Invalid=2847, Unknown=12, NotChecked=0, Total=3192 [2022-04-08 03:40:46,786 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 03:41:05,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:41:05,370 INFO L93 Difference]: Finished difference Result 1903 states and 2629 transitions. [2022-04-08 03:41:05,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-08 03:41:05,370 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 03:41:05,370 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:41:05,370 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 03:41:05,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-08 03:41:05,371 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 03:41:05,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-08 03:41:05,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 152 transitions. [2022-04-08 03:41:05,527 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 03:41:05,581 INFO L225 Difference]: With dead ends: 1903 [2022-04-08 03:41:05,582 INFO L226 Difference]: Without dead ends: 1228 [2022-04-08 03:41:05,583 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1836 ImplicationChecksByTransitivity, 14.9s TimeCoverageRelationStatistics Valid=720, Invalid=7100, Unknown=12, NotChecked=0, Total=7832 [2022-04-08 03:41:05,583 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 133 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 1175 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 133 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1263 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 1175 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 03:41:05,583 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [133 Valid, 45 Invalid, 1263 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 1175 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-08 03:41:05,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1228 states. [2022-04-08 03:41:15,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1228 to 927. [2022-04-08 03:41:15,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:41:15,703 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 03:41:15,704 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 03:41:15,704 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 03:41:15,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:41:15,744 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-08 03:41:15,744 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-08 03:41:15,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:41:15,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:41:15,746 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 03:41:15,746 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 03:41:15,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:41:15,786 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-08 03:41:15,786 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-08 03:41:15,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:41:15,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:41:15,787 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:41:15,787 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:41:15,788 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 03:41:15,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 927 states to 927 states and 1261 transitions. [2022-04-08 03:41:15,822 INFO L78 Accepts]: Start accepts. Automaton has 927 states and 1261 transitions. Word has length 110 [2022-04-08 03:41:15,822 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:41:15,822 INFO L478 AbstractCegarLoop]: Abstraction has 927 states and 1261 transitions. [2022-04-08 03:41:15,823 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 03:41:15,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 927 states and 1261 transitions. [2022-04-08 03:41:22,983 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 03:41:22,983 INFO L276 IsEmpty]: Start isEmpty. Operand 927 states and 1261 transitions. [2022-04-08 03:41:22,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:41:22,984 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:41:22,984 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 03:41:23,006 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 03:41:23,184 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 03:41:23,185 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:41:23,185 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:41:23,185 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 19 times [2022-04-08 03:41:23,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:41:23,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [708716264] [2022-04-08 03:41:23,188 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:41:23,188 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:41:23,188 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:41:23,188 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 20 times [2022-04-08 03:41:23,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:41:23,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1526030272] [2022-04-08 03:41:23,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:41:23,188 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:41:23,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:41:23,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,294 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 03:41:23,294 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 03:41:23,295 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 03:41:23,298 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:41:23,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,594 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 03:41:23,597 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 03:41:23,598 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 03:41:23,598 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 03:41:23,599 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 03:41:23,600 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 03:41:23,601 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 03:41:23,601 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 03:41:23,602 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 03:41:23,603 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 03:41:23,603 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 03:41:23,604 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 03:41:23,604 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 03:41:23,605 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 03:41:23,605 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 03:41:23,606 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 03:41:23,607 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 03:41:23,608 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 03:41:23,609 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 03:41:23,609 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 03:41:23,609 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 03:41:23,609 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 03:41:23,609 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 03:41:23,609 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 03:41:23,609 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 03:41:23,610 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 03:41:23,610 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 03:41:23,610 INFO L290 TraceCheckUtils]: 27: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,610 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 03:41:23,610 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 03:41:23,610 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 03:41:23,610 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 03:41:23,610 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 03:41:23,610 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 03:41:23,611 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 03:41:23,611 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 03:41:23,611 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 03:41:23,611 INFO L290 TraceCheckUtils]: 37: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,611 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 03:41:23,611 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 03:41:23,611 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 03:41:23,611 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 03:41:23,611 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 03:41:23,611 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 03:41:23,612 INFO L290 TraceCheckUtils]: 44: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,612 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 03:41:23,612 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 03:41:23,612 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 03:41:23,612 INFO L290 TraceCheckUtils]: 48: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,612 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 03:41:23,612 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 03:41:23,612 INFO L290 TraceCheckUtils]: 51: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,612 INFO L290 TraceCheckUtils]: 52: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-08 03:41:23,613 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 03:41:23,613 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:41:23,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,616 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,616 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,616 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,616 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:41:23,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,619 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:41:23,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:41:23,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,626 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 03:41:23,626 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 03:41:23,627 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 03:41:23,627 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 03:41:23,627 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 03:41:23,628 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 03:41:23,628 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 03:41:23,629 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 03:41:23,629 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 03:41:23,629 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 03:41:23,630 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 03:41:23,630 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 03:41:23,630 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 03:41:23,631 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 03:41:23,631 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 03:41:23,631 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 03:41:23,632 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 03:41:23,632 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 03:41:23,632 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 03:41:23,633 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 03:41:23,633 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 03:41:23,633 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 03:41:23,634 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 03:41:23,635 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 03:41:23,635 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 03:41:23,636 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 03:41:23,636 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 03:41:23,637 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 03:41:23,638 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 03:41:23,638 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 03:41:23,639 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 03:41:23,639 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 03:41:23,640 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 03:41:23,641 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 03:41:23,642 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 03:41:23,643 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 03:41:23,643 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 03:41:23,643 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 03:41:23,643 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 03:41:23,644 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 03:41:23,644 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 03:41:23,644 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 03:41:23,644 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 03:41:23,644 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 03:41:23,644 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 03:41:23,644 INFO L290 TraceCheckUtils]: 45: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,644 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 03:41:23,644 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 03:41:23,644 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 03:41:23,644 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 03:41:23,644 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 03:41:23,645 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 03:41:23,645 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 03:41:23,645 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 03:41:23,645 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 03:41:23,645 INFO L290 TraceCheckUtils]: 55: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,645 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 03:41:23,645 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 03:41:23,645 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 03:41:23,645 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 03:41:23,645 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 03:41:23,645 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 03:41:23,645 INFO L290 TraceCheckUtils]: 62: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,646 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 03:41:23,646 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 03:41:23,646 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 03:41:23,646 INFO L290 TraceCheckUtils]: 66: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,646 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 03:41:23,646 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 03:41:23,646 INFO L290 TraceCheckUtils]: 69: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-08 03:41:23,646 INFO L290 TraceCheckUtils]: 70: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-08 03:41:23,646 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 03:41:23,646 INFO L290 TraceCheckUtils]: 72: Hoare triple {75322#false} ~i~1 := 0; {75322#false} is VALID [2022-04-08 03:41:23,646 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 03:41:23,646 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 03:41:23,646 INFO L290 TraceCheckUtils]: 75: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,646 INFO L290 TraceCheckUtils]: 76: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,647 INFO L290 TraceCheckUtils]: 77: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,647 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,647 INFO L290 TraceCheckUtils]: 79: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 03:41:23,647 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 03:41:23,647 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 03:41:23,647 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 03:41:23,647 INFO L290 TraceCheckUtils]: 83: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,647 INFO L290 TraceCheckUtils]: 84: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,647 INFO L290 TraceCheckUtils]: 85: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,647 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,647 INFO L290 TraceCheckUtils]: 87: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 03:41:23,647 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 03:41:23,647 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 03:41:23,648 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 03:41:23,648 INFO L290 TraceCheckUtils]: 91: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,648 INFO L290 TraceCheckUtils]: 92: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,648 INFO L290 TraceCheckUtils]: 93: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,648 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,648 INFO L290 TraceCheckUtils]: 95: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 03:41:23,648 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 03:41:23,648 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 03:41:23,648 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 03:41:23,648 INFO L290 TraceCheckUtils]: 99: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-08 03:41:23,648 INFO L290 TraceCheckUtils]: 100: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-08 03:41:23,648 INFO L290 TraceCheckUtils]: 101: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-08 03:41:23,648 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-08 03:41:23,648 INFO L290 TraceCheckUtils]: 103: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-08 03:41:23,649 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 03:41:23,649 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 03:41:23,649 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 03:41:23,649 INFO L290 TraceCheckUtils]: 107: Hoare triple {75322#false} ~cond := #in~cond; {75322#false} is VALID [2022-04-08 03:41:23,649 INFO L290 TraceCheckUtils]: 108: Hoare triple {75322#false} assume 0 == ~cond; {75322#false} is VALID [2022-04-08 03:41:23,649 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-08 03:41:23,649 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 03:41:23,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:41:23,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1526030272] [2022-04-08 03:41:23,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1526030272] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:41:23,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1649384055] [2022-04-08 03:41:23,650 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:41:23,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:41:23,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:41:23,651 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 03:41:23,679 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 03:41:23,812 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:41:23,812 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:41:23,815 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 03:41:23,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:41:23,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:41:23,889 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:41:23,890 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 03:41:23,923 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 03:41:24,005 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:41:24,005 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 03:41:24,079 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:41:24,080 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 03:41:24,154 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:41:24,154 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 03:41:24,244 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:41:24,244 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 03:41:24,840 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 03:41:26,271 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:41:26,271 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 03:41:26,359 INFO L272 TraceCheckUtils]: 0: Hoare triple {75321#true} call ULTIMATE.init(); {75321#true} is VALID [2022-04-08 03:41:26,360 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 03:41:26,360 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 03:41:26,361 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 03:41:26,370 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 03:41:26,370 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 03:41:26,371 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 03:41:26,371 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 03:41:26,372 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 03:41:26,372 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 03:41:26,373 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 03:41:26,373 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 03:41:26,374 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 03:41:26,375 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 03:41:26,375 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 03:41:26,376 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 03:41:26,376 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 03:41:26,377 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 03:41:26,377 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 03:41:26,377 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 03:41:26,378 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 03:41:26,378 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 03:41:26,378 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 03:41:26,379 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 03:41:26,379 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 03:41:26,379 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 03:41:26,380 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 03:41:26,380 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 03:41:26,380 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 03:41:26,381 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 03:41:26,381 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 03:41:26,382 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 03:41:26,382 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 03:41:26,383 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 03:41:26,383 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 03:41:26,384 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 03:41:26,384 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 03:41:26,385 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 03:41:26,386 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 03:41:26,386 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 03:41:26,387 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 03:41:26,387 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 03:41:26,388 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 03:41:26,388 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 03:41:26,389 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 03:41:26,389 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 03:41:26,391 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 03:41:26,392 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 03:41:26,392 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 03:41:26,393 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 03:41:26,394 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 03:41:26,394 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 03:41:26,395 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 03:41:26,395 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 03:41:26,396 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 03:41:26,396 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 03:41:26,398 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 03:41:26,399 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 03:41:26,399 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 03:41:26,400 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 03:41:26,400 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 03:41:26,401 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 03:41:26,401 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 03:41:26,403 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 03:41:26,404 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 03:41:26,404 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 03:41:26,405 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 03:41:26,407 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 03:41:26,407 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 03:41:26,408 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 03:41:26,408 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 03:41:26,409 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 03:41:26,409 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 03:41:26,410 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 03:41:26,411 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 03:41:26,411 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 03:41:26,411 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 03:41:26,411 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 03:41:26,412 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 03:41:26,412 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 03:41:26,413 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 03:41:26,413 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 03:41:26,414 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 03:41:26,414 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 03:41:26,415 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 03:41:26,415 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 03:41:26,415 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 03:41:26,416 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 03:41:26,416 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 03:41:26,416 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 03:41:26,417 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 03:41:26,417 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 03:41:26,418 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 03:41:26,418 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 03:41:26,418 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 03:41:26,419 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 03:41:26,419 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 03:41:26,420 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 03:41:26,420 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 03:41:26,421 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 03:41:26,421 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 03:41:26,421 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 03:41:26,422 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 03:41:26,422 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 03:41:26,423 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 03:41:26,423 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 03:41:26,423 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 03:41:26,424 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 03:41:26,424 INFO L290 TraceCheckUtils]: 108: Hoare triple {75753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {75322#false} is VALID [2022-04-08 03:41:26,424 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-08 03:41:26,425 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 03:41:26,425 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:41:26,776 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 03:41:26,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1649384055] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:41:26,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:41:26,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 22] total 36 [2022-04-08 03:41:26,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:41:26,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [708716264] [2022-04-08 03:41:26,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [708716264] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:41:26,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:41:26,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 03:41:26,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1517592469] [2022-04-08 03:41:26,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:41:26,778 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 03:41:26,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:41:26,778 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 03:41:26,812 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 03:41:26,813 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 03:41:26,813 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:41:26,813 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 03:41:26,813 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=146, Invalid=1654, Unknown=10, NotChecked=82, Total=1892 [2022-04-08 03:41:26,813 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 03:41:46,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:41:46,256 INFO L93 Difference]: Finished difference Result 2266 states and 3111 transitions. [2022-04-08 03:41:46,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 03:41:46,256 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 03:41:46,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:41:46,256 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 03:41:46,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-08 03:41:46,257 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 03:41:46,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-08 03:41:46,258 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 135 transitions. [2022-04-08 03:41:46,398 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 03:41:46,502 INFO L225 Difference]: With dead ends: 2266 [2022-04-08 03:41:46,502 INFO L226 Difference]: Without dead ends: 1430 [2022-04-08 03:41:46,503 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 122 SyntacticMatches, 12 SemanticMatches, 69 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1060 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=424, Invalid=4400, Unknown=10, NotChecked=136, Total=4970 [2022-04-08 03:41:46,504 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 03:41:46,504 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 03:41:46,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1430 states. [2022-04-08 03:41:57,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1430 to 1016. [2022-04-08 03:41:57,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:41:57,930 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 03:41:57,930 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 03:41:57,931 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 03:41:57,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:41:57,983 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-08 03:41:57,983 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-08 03:41:57,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:41:57,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:41:57,985 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 03:41:57,986 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 03:41:58,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:41:58,037 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-08 03:41:58,037 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-08 03:41:58,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:41:58,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:41:58,038 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:41:58,038 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:41:58,039 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 03:41:58,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1016 states to 1016 states and 1399 transitions. [2022-04-08 03:41:58,080 INFO L78 Accepts]: Start accepts. Automaton has 1016 states and 1399 transitions. Word has length 110 [2022-04-08 03:41:58,080 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:41:58,080 INFO L478 AbstractCegarLoop]: Abstraction has 1016 states and 1399 transitions. [2022-04-08 03:41:58,080 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 03:41:58,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1016 states and 1399 transitions. [2022-04-08 03:42:05,270 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 03:42:05,271 INFO L276 IsEmpty]: Start isEmpty. Operand 1016 states and 1399 transitions. [2022-04-08 03:42:05,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:42:05,272 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:42:05,272 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 03:42:05,288 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 03:42:05,472 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 03:42:05,472 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:42:05,473 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:42:05,473 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 21 times [2022-04-08 03:42:05,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:42:05,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1539105281] [2022-04-08 03:42:05,475 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:42:05,475 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:42:05,475 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:42:05,475 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 22 times [2022-04-08 03:42:05,475 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:42:05,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [29351739] [2022-04-08 03:42:05,475 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:42:05,476 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:42:05,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:05,538 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:42:05,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:05,545 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 03:42:05,545 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 03:42:05,546 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 03:42:05,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:42:05,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:05,996 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 03:42:05,997 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 03:42:05,997 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 03:42:05,998 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 03:42:05,999 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 03:42:06,000 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 03:42:06,000 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 03:42:06,001 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 03:42:06,001 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 03:42:06,002 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 03:42:06,003 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 03:42:06,003 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 03:42:06,003 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 03:42:06,004 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 03:42:06,004 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 03:42:06,005 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 03:42:06,006 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 03:42:06,007 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 03:42:06,007 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 03:42:06,007 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 03:42:06,008 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 03:42:06,008 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 03:42:06,009 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 03:42:06,009 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 03:42:06,009 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 03:42:06,009 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 03:42:06,009 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 03:42:06,009 INFO L290 TraceCheckUtils]: 27: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,009 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 03:42:06,009 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 03:42:06,009 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 INFO L290 TraceCheckUtils]: 37: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 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 03:42:06,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,010 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 03:42:06,011 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 03:42:06,011 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 03:42:06,011 INFO L290 TraceCheckUtils]: 48: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,011 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 03:42:06,011 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 03:42:06,011 INFO L290 TraceCheckUtils]: 51: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,011 INFO L290 TraceCheckUtils]: 52: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:06,011 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 03:42:06,011 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:42:06,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:06,013 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,014 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:42:06,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:06,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:42:06,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:06,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:42:06,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:06,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,028 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 03:42:06,028 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 03:42:06,029 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 03:42:06,029 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 03:42:06,029 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 03:42:06,030 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 03:42:06,030 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 03:42:06,031 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 03:42:06,031 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 03:42:06,031 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 03:42:06,032 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 03:42:06,032 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 03:42:06,032 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 03:42:06,033 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 03:42:06,033 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 03:42:06,033 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 03:42:06,034 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 03:42:06,034 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 03:42:06,034 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 03:42:06,035 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 03:42:06,035 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 03:42:06,036 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 03:42:06,037 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 03:42:06,037 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 03:42:06,038 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 03:42:06,038 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 03:42:06,039 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 03:42:06,039 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 03:42:06,040 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 03:42:06,040 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 03:42:06,041 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 03:42:06,041 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 03:42:06,042 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 03:42:06,043 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 03:42:06,043 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 03:42:06,044 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 03:42:06,044 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 03:42:06,045 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 03:42:06,046 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 03:42:06,046 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 03:42:06,046 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 03:42:06,046 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 INFO L290 TraceCheckUtils]: 45: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 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 03:42:06,047 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,047 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 03:42:06,048 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 03:42:06,048 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 03:42:06,048 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 03:42:06,048 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 03:42:06,048 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 03:42:06,048 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,048 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 03:42:06,048 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 03:42:06,048 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 03:42:06,048 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,048 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 03:42:06,048 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 03:42:06,048 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:06,048 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:06,048 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 03:42:06,049 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-08 03:42:06,049 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 03:42:06,049 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 03:42:06,049 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,049 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,049 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,049 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,049 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:06,049 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 03:42:06,049 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 03:42:06,049 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 03:42:06,049 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,049 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,049 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,049 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,050 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:06,050 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 03:42:06,050 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 03:42:06,050 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 03:42:06,050 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,050 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,050 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,050 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,050 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:06,050 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 03:42:06,050 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 03:42:06,050 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 03:42:06,050 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:06,050 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:06,050 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:06,051 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:06,051 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:06,051 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 03:42:06,051 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 03:42:06,051 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 03:42:06,051 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 03:42:06,051 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-08 03:42:06,051 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-08 03:42:06,051 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 03:42:06,052 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:42:06,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [29351739] [2022-04-08 03:42:06,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [29351739] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:42:06,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [636723583] [2022-04-08 03:42:06,052 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:42:06,052 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:42:06,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:42:06,053 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 03:42:06,054 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 03:42:06,205 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:42:06,205 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:42:06,207 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 03:42:06,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:06,231 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:42:06,502 INFO L356 Elim1Store]: treesize reduction 39, result has 22.0 percent of original size [2022-04-08 03:42:06,503 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 03:42:06,963 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-08 03:42:06,963 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 03:42:07,191 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-08 03:42:07,191 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 03:42:07,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-08 03:42:07,302 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 03:42:07,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:07,302 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-08 03:42:07,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-08 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 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 03:42:07,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-08 03:42:07,303 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-08 03:42:07,304 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 03:42:07,304 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 03:42:07,305 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 03:42:07,305 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 03:42:07,305 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 03:42:07,306 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 03:42:07,306 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 03:42:07,306 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 03:42:07,307 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 03:42:07,307 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 03:42:07,308 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 03:42:07,308 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 03:42:07,308 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 03:42:07,309 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 03:42:07,309 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 03:42:07,309 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 03:42:07,310 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 03:42:07,310 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 03:42:07,310 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 03:42:07,311 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 03:42:07,311 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 03:42:07,312 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 03:42:07,312 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 03:42:07,313 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 03:42:07,313 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 03:42:07,314 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 03:42:07,314 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 03:42:07,315 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 03:42:07,316 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 03:42:07,316 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 03:42:07,317 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 03:42:07,317 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 03:42:07,317 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 03:42:07,318 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 03:42:07,318 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 03:42:07,319 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 03:42:07,319 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 03:42:07,319 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:07,319 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 03:42:07,319 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 03:42:07,319 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 03:42:07,319 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 03:42:07,319 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 03:42:07,319 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 03:42:07,319 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:07,319 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 03:42:07,319 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 03:42:07,319 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 03:42:07,320 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:07,320 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 03:42:07,320 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 03:42:07,320 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:07,320 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:07,320 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-08 03:42:07,320 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-08 03:42:07,320 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 03:42:07,320 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 03:42:07,320 INFO L290 TraceCheckUtils]: 75: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 03:42:07,320 INFO L290 TraceCheckUtils]: 76: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 03:42:07,320 INFO L290 TraceCheckUtils]: 77: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:07,320 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:07,320 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:07,320 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 03:42:07,321 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 03:42:07,321 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 03:42:07,321 INFO L290 TraceCheckUtils]: 83: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L290 TraceCheckUtils]: 84: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L290 TraceCheckUtils]: 85: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:07,321 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 03:42:07,321 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 03:42:07,321 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 03:42:07,321 INFO L290 TraceCheckUtils]: 91: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L290 TraceCheckUtils]: 92: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L290 TraceCheckUtils]: 93: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:07,321 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:07,322 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 03:42:07,322 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 03:42:07,322 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 03:42:07,322 INFO L290 TraceCheckUtils]: 99: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 03:42:07,322 INFO L290 TraceCheckUtils]: 100: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-08 03:42:07,322 INFO L290 TraceCheckUtils]: 101: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:07,322 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:07,322 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:07,322 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 03:42:07,322 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 03:42:07,322 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 03:42:07,322 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 03:42:07,322 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-08 03:42:07,322 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-08 03:42:07,323 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 03:42:07,323 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:42:09,249 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-08 03:42:09,249 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-08 03:42:09,249 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-08 03:42:09,250 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 03:42:09,250 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 03:42:09,250 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 03:42:09,250 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:09,250 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:09,250 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:09,250 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:09,250 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:09,250 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 03:42:09,250 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 03:42:09,250 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 03:42:09,250 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:09,250 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:09,250 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:09,250 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:09,251 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:09,251 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 03:42:09,251 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 03:42:09,251 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 03:42:09,251 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:09,251 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:09,251 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:09,251 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:09,251 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:09,251 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 03:42:09,251 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 03:42:09,251 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 03:42:09,251 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-08 03:42:09,251 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-08 03:42:09,251 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:09,252 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-08 03:42:09,252 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-08 03:42:09,252 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 03:42:09,252 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 03:42:09,252 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-08 03:42:09,252 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-08 03:42:09,252 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-08 03:42:09,252 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:09,252 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 03:42:09,252 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 03:42:09,252 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:09,252 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 03:42:09,252 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 03:42:09,252 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 03:42:09,252 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:09,253 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 03:42:09,253 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 03:42:09,253 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 03:42:09,253 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 03:42:09,253 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 03:42:09,253 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 03:42:09,253 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-08 03:42:09,253 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 03:42:09,253 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 03:42:09,254 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 03:42:09,255 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 03:42:09,255 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 03:42:09,255 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 03:42:09,256 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 03:42:09,257 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 03:42:09,258 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 03:42:09,258 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 03:42:09,259 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 03:42:09,259 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 03:42:09,260 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 03:42:09,262 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 03:42:09,263 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 03:42:09,264 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 03:42:09,267 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 03:42:09,267 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 03:42:09,268 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 03:42:09,269 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 03:42:09,269 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 03:42:09,269 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 03:42:09,269 INFO L290 TraceCheckUtils]: 32: Hoare triple {85363#true} assume !(~i~0 < ~n~0); {85363#true} is VALID [2022-04-08 03:42:09,269 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 03:42:09,269 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 03:42:09,269 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 03:42:09,269 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,270 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-08 03:42:09,270 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-08 03:42:09,270 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 03:42:09,270 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 03:42:09,270 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 03:42:09,271 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 03:42:09,271 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 03:42:09,271 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 03:42:09,271 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 03:42:09,271 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 03:42:09,271 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 03:42:09,271 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 03:42:09,271 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 03:42:09,271 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-08 03:42:09,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-08 03:42:09,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-08 03:42:09,271 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 03:42:09,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-08 03:42:09,272 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 03:42:09,272 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [636723583] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:42:09,272 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:42:09,272 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 21, 14] total 50 [2022-04-08 03:42:09,272 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:42:09,272 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1539105281] [2022-04-08 03:42:09,272 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1539105281] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:42:09,272 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:42:09,272 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-08 03:42:09,272 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2088317870] [2022-04-08 03:42:09,273 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:42:09,273 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 03:42:09,273 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:42:09,273 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 03:42:09,310 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 03:42:09,310 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-08 03:42:09,310 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:42:09,311 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-08 03:42:09,311 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=160, Invalid=2290, Unknown=0, NotChecked=0, Total=2450 [2022-04-08 03:42:09,311 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 03:42:29,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:42:29,953 INFO L93 Difference]: Finished difference Result 2132 states and 2958 transitions. [2022-04-08 03:42:29,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-08 03:42:29,953 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 03:42:29,953 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:42:29,953 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 03:42:29,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-08 03:42:29,955 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 03:42:29,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-08 03:42:29,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 161 transitions. [2022-04-08 03:42:30,117 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 03:42:30,190 INFO L225 Difference]: With dead ends: 2132 [2022-04-08 03:42:30,190 INFO L226 Difference]: Without dead ends: 1431 [2022-04-08 03:42:30,191 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 03:42:30,192 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 124 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 1177 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 1177 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 03:42:30,192 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 03:42:30,192 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1431 states. [2022-04-08 03:42:42,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1431 to 1146. [2022-04-08 03:42:42,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:42:42,919 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 03:42:42,920 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 03:42:42,921 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 03:42:42,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:42:42,970 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-08 03:42:42,970 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-08 03:42:42,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:42:42,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:42:42,972 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 03:42:42,972 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 03:42:43,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:42:43,023 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-08 03:42:43,023 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-08 03:42:43,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:42:43,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:42:43,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:42:43,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:42:43,025 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 03:42:43,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1146 states to 1146 states and 1558 transitions. [2022-04-08 03:42:43,076 INFO L78 Accepts]: Start accepts. Automaton has 1146 states and 1558 transitions. Word has length 110 [2022-04-08 03:42:43,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:42:43,076 INFO L478 AbstractCegarLoop]: Abstraction has 1146 states and 1558 transitions. [2022-04-08 03:42:43,076 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 03:42:43,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1146 states and 1558 transitions. [2022-04-08 03:42:50,671 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 03:42:50,672 INFO L276 IsEmpty]: Start isEmpty. Operand 1146 states and 1558 transitions. [2022-04-08 03:42:50,673 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:42:50,673 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:42:50,673 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 03:42:50,691 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Forceful destruction successful, exit code 0 [2022-04-08 03:42:50,873 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 03:42:50,874 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:42:50,874 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:42:50,874 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 23 times [2022-04-08 03:42:50,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:42:50,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [478677708] [2022-04-08 03:42:50,876 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:42:50,876 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:42:50,876 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:42:50,876 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 24 times [2022-04-08 03:42:50,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:42:50,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [423730471] [2022-04-08 03:42:50,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:42:50,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:42:50,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:51,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:42:51,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:51,029 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 03:42:51,029 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 03:42:51,030 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 03:42:51,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:42:51,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:52,463 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 03:42:52,464 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 03:42:52,464 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 03:42:52,464 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 03:42:52,465 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 03:42:52,466 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 03:42:52,467 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 03:42:52,467 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 03:42:52,468 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 03:42:52,469 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 03:42:52,470 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 03:42:52,471 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 03:42:52,472 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 03:42:52,474 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 03:42:52,475 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 03:42:52,476 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 03:42:52,477 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 03:42:52,478 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 03:42:52,479 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 03:42:52,480 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 03:42:52,480 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 03:42:52,481 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 03:42:52,481 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 03:42:52,482 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 03:42:52,483 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 03:42:52,484 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 03:42:52,484 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 03:42:52,485 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 03:42:52,485 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 03:42:52,485 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 03:42:52,486 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 03:42:52,486 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 03:42:52,487 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 03:42:52,487 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 03:42:52,488 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 03:42:52,488 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 03:42:52,489 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 03:42:52,489 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 03:42:52,490 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 03:42:52,490 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 03:42:52,490 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 03:42:52,491 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 03:42:52,491 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 03:42:52,491 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 03:42:52,492 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 03:42:52,492 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 03:42:52,493 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 03:42:52,493 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 03:42:52,493 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 03:42:52,494 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 03:42:52,494 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 03:42:52,495 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 03:42:52,495 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 03:42:52,495 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 03:42:52,496 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:42:52,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:52,498 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:42:52,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:52,500 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,500 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:42:52,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:52,523 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,523 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,524 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:42:52,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:52,540 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,541 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 03:42:52,541 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 03:42:52,542 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 03:42:52,542 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 03:42:52,543 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 03:42:52,543 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 03:42:52,544 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 03:42:52,544 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 03:42:52,545 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 03:42:52,545 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 03:42:52,546 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 03:42:52,547 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 03:42:52,548 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 03:42:52,548 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 03:42:52,549 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 03:42:52,549 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 03:42:52,549 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 03:42:52,550 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 03:42:52,550 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 03:42:52,551 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 03:42:52,551 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 03:42:52,552 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 03:42:52,552 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 03:42:52,553 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 03:42:52,554 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 03:42:52,555 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 03:42:52,556 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 03:42:52,556 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 03:42:52,557 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 03:42:52,558 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 03:42:52,559 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 03:42:52,561 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 03:42:52,562 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 03:42:52,564 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 03:42:52,565 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 03:42:52,565 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 03:42:52,566 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 03:42:52,567 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 03:42:52,567 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 03:42:52,568 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 03:42:52,568 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 03:42:52,569 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 03:42:52,570 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 03:42:52,571 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 03:42:52,571 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 03:42:52,571 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 03:42:52,572 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 03:42:52,572 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 03:42:52,573 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 03:42:52,573 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 03:42:52,574 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 03:42:52,574 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 03:42:52,575 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 03:42:52,575 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 03:42:52,576 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 03:42:52,576 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 03:42:52,576 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 03:42:52,577 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 03:42:52,577 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 03:42:52,577 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 03:42:52,578 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 03:42:52,578 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 03:42:52,578 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 03:42:52,579 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 03:42:52,579 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 03:42:52,580 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 03:42:52,580 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 03:42:52,580 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 03:42:52,581 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 03:42:52,581 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 03:42:52,581 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 03:42:52,582 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 03:42:52,582 INFO L290 TraceCheckUtils]: 72: Hoare triple {95635#false} ~i~1 := 0; {95635#false} is VALID [2022-04-08 03:42:52,582 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 03:42:52,582 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 03:42:52,582 INFO L290 TraceCheckUtils]: 75: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,582 INFO L290 TraceCheckUtils]: 76: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,582 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,582 INFO L290 TraceCheckUtils]: 79: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 03:42:52,582 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 03:42:52,583 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 03:42:52,583 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 03:42:52,583 INFO L290 TraceCheckUtils]: 83: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,583 INFO L290 TraceCheckUtils]: 84: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,583 INFO L290 TraceCheckUtils]: 85: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,583 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,583 INFO L290 TraceCheckUtils]: 87: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 03:42:52,583 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 03:42:52,583 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 03:42:52,583 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 03:42:52,583 INFO L290 TraceCheckUtils]: 91: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,583 INFO L290 TraceCheckUtils]: 92: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,583 INFO L290 TraceCheckUtils]: 93: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,583 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,583 INFO L290 TraceCheckUtils]: 95: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 03:42:52,584 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 03:42:52,584 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 03:42:52,584 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 03:42:52,584 INFO L290 TraceCheckUtils]: 99: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-08 03:42:52,584 INFO L290 TraceCheckUtils]: 100: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-08 03:42:52,584 INFO L290 TraceCheckUtils]: 101: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-08 03:42:52,584 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-08 03:42:52,584 INFO L290 TraceCheckUtils]: 103: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-08 03:42:52,584 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 03:42:52,584 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 03:42:52,584 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 03:42:52,584 INFO L290 TraceCheckUtils]: 107: Hoare triple {95635#false} ~cond := #in~cond; {95635#false} is VALID [2022-04-08 03:42:52,584 INFO L290 TraceCheckUtils]: 108: Hoare triple {95635#false} assume 0 == ~cond; {95635#false} is VALID [2022-04-08 03:42:52,584 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-08 03:42:52,585 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 03:42:52,585 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:42:52,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [423730471] [2022-04-08 03:42:52,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [423730471] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:42:52,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [851518832] [2022-04-08 03:42:52,586 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:42:52,586 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:42:52,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:42:52,587 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 03:42:52,588 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 03:42:52,975 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-08 03:42:52,975 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:42:52,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 365 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-08 03:42:53,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:42:53,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:42:53,068 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:42:53,069 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 03:42:53,103 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 03:42:53,199 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:42:53,199 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 03:42:53,281 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:42:53,281 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 03:42:53,350 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 03:42:53,351 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 03:42:53,476 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-08 03:42:53,476 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 03:42:54,103 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 03:42:55,525 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:42:55,526 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 03:42:55,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {95634#true} call ULTIMATE.init(); {95634#true} is VALID [2022-04-08 03:42:55,638 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 03:42:55,639 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 03:42:55,639 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 03:42:55,639 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 03:42:55,640 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 03:42:55,640 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 03:42:55,641 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 03:42:55,642 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 03:42:55,642 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 03:42:55,643 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 03:42:55,643 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 03:42:55,644 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 03:42:55,644 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 03:42:55,645 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 03:42:55,646 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 03:42:55,646 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 03:42:55,647 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 03:42:55,647 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 03:42:55,648 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 03:42:55,648 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 03:42:55,648 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 03:42:55,649 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 03:42:55,649 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 03:42:55,650 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 03:42:55,650 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 03:42:55,650 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 03:42:55,651 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 03:42:55,651 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 03:42:55,651 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 03:42:55,652 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 03:42:55,652 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 03:42:55,652 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 03:42:55,653 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 03:42:55,654 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 03:42:55,654 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 03:42:55,655 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 03:42:55,655 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 03:42:55,655 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 03:42:55,656 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 03:42:55,656 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 03:42:55,657 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 03:42:55,657 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 03:42:55,657 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 03:42:55,658 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 03:42:55,658 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 03:42:55,660 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 03:42:55,661 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 03:42:55,661 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 03:42:55,661 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 03:42:55,662 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 03:42:55,662 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 03:42:55,663 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 03:42:55,663 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 03:42:55,663 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 03:42:55,664 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 03:42:55,665 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 03:42:55,665 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 03:42:55,666 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 03:42:55,666 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 03:42:55,667 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 03:42:55,667 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 03:42:55,667 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 03:42:55,669 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 03:42:55,669 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 03:42:55,670 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 03:42:55,670 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 03:42:55,671 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 03:42:55,672 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 03:42:55,672 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 03:42:55,672 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 03:42:55,673 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 03:42:55,674 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 03:42:55,674 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 03:42:55,675 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 03:42:55,675 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 03:42:55,675 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 03:42:55,676 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 03:42:55,676 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 03:42:55,676 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 03:42:55,677 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 03:42:55,677 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 03:42:55,678 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 03:42:55,678 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 03:42:55,678 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 03:42:55,679 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 03:42:55,679 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 03:42:55,680 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 03:42:55,680 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 03:42:55,680 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 03:42:55,681 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 03:42:55,681 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 03:42:55,682 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 03:42:55,682 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 03:42:55,682 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 03:42:55,683 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 03:42:55,683 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 03:42:55,684 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 03:42:55,684 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 03:42:55,685 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 03:42:55,685 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 03:42:55,685 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 03:42:55,686 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 03:42:55,686 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 03:42:55,686 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 03:42:55,687 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 03:42:55,687 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 03:42:55,688 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 03:42:55,688 INFO L290 TraceCheckUtils]: 108: Hoare triple {96085#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {95635#false} is VALID [2022-04-08 03:42:55,688 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-08 03:42:55,688 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 03:42:55,689 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:42:56,096 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 03:42:56,097 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [851518832] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:42:56,097 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:42:56,097 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 23] total 55 [2022-04-08 03:42:56,097 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:42:56,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [478677708] [2022-04-08 03:42:56,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [478677708] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:42:56,098 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:42:56,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-08 03:42:56,098 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1727214408] [2022-04-08 03:42:56,098 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:42:56,098 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 03:42:56,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:42:56,098 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 03:42:56,178 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 03:42:56,179 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-08 03:42:56,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:42:56,179 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-08 03:42:56,179 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=248, Invalid=3526, Unknown=12, NotChecked=120, Total=3906 [2022-04-08 03:42:56,179 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 03:43:55,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:43:55,925 INFO L93 Difference]: Finished difference Result 3247 states and 4448 transitions. [2022-04-08 03:43:55,925 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 102 states. [2022-04-08 03:43:55,926 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 03:43:55,926 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:43:55,926 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 03:43:55,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-08 03:43:55,928 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 03:43:55,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-08 03:43:55,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 209 transitions. [2022-04-08 03:43:56,268 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 03:43:56,503 INFO L225 Difference]: With dead ends: 3247 [2022-04-08 03:43:56,503 INFO L226 Difference]: Without dead ends: 2448 [2022-04-08 03:43:56,506 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 296 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 159 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 8437 ImplicationChecksByTransitivity, 14.7s TimeCoverageRelationStatistics Valid=2493, Invalid=22881, Unknown=70, NotChecked=316, Total=25760 [2022-04-08 03:43:56,506 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 03:43:56,507 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 03:43:56,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2448 states. [2022-04-08 03:44:25,133 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2448 to 2216. [2022-04-08 03:44:25,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:44:25,136 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 03:44:25,137 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 03:44:25,138 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 03:44:25,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:44:25,314 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-08 03:44:25,315 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-08 03:44:25,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:44:25,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:44:25,318 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 03:44:25,319 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 03:44:25,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:44:25,479 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-08 03:44:25,479 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-08 03:44:25,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:44:25,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:44:25,481 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:44:25,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:44:25,483 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 03:44:25,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2216 states to 2216 states and 3039 transitions. [2022-04-08 03:44:25,682 INFO L78 Accepts]: Start accepts. Automaton has 2216 states and 3039 transitions. Word has length 110 [2022-04-08 03:44:25,682 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:44:25,683 INFO L478 AbstractCegarLoop]: Abstraction has 2216 states and 3039 transitions. [2022-04-08 03:44:25,683 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 03:44:25,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2216 states and 3039 transitions. [2022-04-08 03:44:43,796 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 03:44:43,796 INFO L276 IsEmpty]: Start isEmpty. Operand 2216 states and 3039 transitions. [2022-04-08 03:44:43,799 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:44:43,799 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:44:43,799 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 03:44:43,816 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 03:44:43,999 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 03:44:44,000 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:44:44,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:44:44,000 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 25 times [2022-04-08 03:44:44,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:44:44,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1660244568] [2022-04-08 03:44:44,002 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:44:44,002 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:44:44,002 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:44:44,002 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 26 times [2022-04-08 03:44:44,003 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:44:44,003 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1383450367] [2022-04-08 03:44:44,003 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:44:44,003 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:44:44,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:44,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:44:44,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:44,225 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 03:44:44,225 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 03:44:44,226 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 03:44:44,229 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:44:44,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:45,996 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 03:44:45,997 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 03:44:45,998 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 03:44:45,998 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 03:44:45,999 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 03:44:45,999 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 03:44:46,000 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 03:44:46,000 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 03:44:46,001 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 03:44:46,001 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 03:44:46,002 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 03:44:46,003 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 03:44:46,004 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 03:44:46,005 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 03:44:46,006 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 03:44:46,007 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 03:44:46,008 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 03:44:46,009 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 03:44:46,010 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 03:44:46,010 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 03:44:46,012 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 03:44:46,013 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 03:44:46,013 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 03:44:46,014 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 03:44:46,015 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 03:44:46,016 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 03:44:46,017 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 03:44:46,018 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 03:44:46,019 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 03:44:46,020 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 03:44:46,021 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 03:44:46,021 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 03:44:46,022 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 03:44:46,023 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 03:44:46,024 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 03:44:46,024 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 03:44:46,025 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 03:44:46,025 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 03:44:46,026 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 03:44:46,026 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 03:44:46,027 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 03:44:46,027 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 03:44:46,027 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 03:44:46,028 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 03:44:46,028 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 03:44:46,029 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 03:44:46,029 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 03:44:46,029 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 03:44:46,030 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 03:44:46,030 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 03:44:46,031 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 03:44:46,031 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 03:44:46,031 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 03:44:46,032 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 03:44:46,032 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:44:46,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:46,041 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,041 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:44:46,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:46,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:44:46,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:46,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,046 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:44:46,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:46,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,048 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 03:44:46,049 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 03:44:46,049 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 03:44:46,050 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 03:44:46,050 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 03:44:46,051 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 03:44:46,051 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 03:44:46,052 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 03:44:46,053 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 03:44:46,053 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 03:44:46,054 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 03:44:46,054 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 03:44:46,054 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 03:44:46,055 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 03:44:46,055 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 03:44:46,056 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 03:44:46,056 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 03:44:46,057 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 03:44:46,057 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 03:44:46,058 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 03:44:46,058 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 03:44:46,059 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 03:44:46,059 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 03:44:46,060 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 03:44:46,060 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 03:44:46,061 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 03:44:46,061 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 03:44:46,062 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 03:44:46,063 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 03:44:46,064 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 03:44:46,064 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 03:44:46,065 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 03:44:46,066 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 03:44:46,067 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 03:44:46,068 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 03:44:46,069 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 03:44:46,070 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 03:44:46,071 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 03:44:46,072 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 03:44:46,073 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 03:44:46,074 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 03:44:46,075 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 03:44:46,076 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 03:44:46,077 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 03:44:46,078 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 03:44:46,078 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 03:44:46,080 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 03:44:46,080 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 03:44:46,081 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 03:44:46,082 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 03:44:46,083 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 03:44:46,083 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 03:44:46,084 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 03:44:46,085 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 03:44:46,085 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 03:44:46,086 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 03:44:46,086 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 03:44:46,087 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 03:44:46,087 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 03:44:46,088 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 03:44:46,088 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 03:44:46,088 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 03:44:46,089 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 03:44:46,089 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 03:44:46,090 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 03:44:46,090 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 03:44:46,090 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 03:44:46,091 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 03:44:46,091 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 03:44:46,091 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 03:44:46,092 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 03:44:46,092 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 03:44:46,093 INFO L290 TraceCheckUtils]: 72: Hoare triple {112236#false} ~i~1 := 0; {112236#false} is VALID [2022-04-08 03:44:46,093 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 03:44:46,093 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 03:44:46,093 INFO L290 TraceCheckUtils]: 75: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,093 INFO L290 TraceCheckUtils]: 76: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,093 INFO L290 TraceCheckUtils]: 77: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,093 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,093 INFO L290 TraceCheckUtils]: 79: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 03:44:46,093 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 03:44:46,093 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 03:44:46,093 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 03:44:46,093 INFO L290 TraceCheckUtils]: 83: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,093 INFO L290 TraceCheckUtils]: 84: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,093 INFO L290 TraceCheckUtils]: 85: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,093 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,093 INFO L290 TraceCheckUtils]: 87: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 03:44:46,094 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 03:44:46,094 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 03:44:46,094 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 03:44:46,094 INFO L290 TraceCheckUtils]: 91: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,094 INFO L290 TraceCheckUtils]: 92: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,094 INFO L290 TraceCheckUtils]: 93: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,094 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,094 INFO L290 TraceCheckUtils]: 95: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 03:44:46,094 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 03:44:46,094 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 03:44:46,094 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 03:44:46,094 INFO L290 TraceCheckUtils]: 99: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-08 03:44:46,094 INFO L290 TraceCheckUtils]: 100: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-08 03:44:46,094 INFO L290 TraceCheckUtils]: 101: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-08 03:44:46,094 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-08 03:44:46,095 INFO L290 TraceCheckUtils]: 103: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-08 03:44:46,095 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 03:44:46,095 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 03:44:46,095 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 03:44:46,095 INFO L290 TraceCheckUtils]: 107: Hoare triple {112236#false} ~cond := #in~cond; {112236#false} is VALID [2022-04-08 03:44:46,095 INFO L290 TraceCheckUtils]: 108: Hoare triple {112236#false} assume 0 == ~cond; {112236#false} is VALID [2022-04-08 03:44:46,095 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-08 03:44:46,096 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 03:44:46,096 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:44:46,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1383450367] [2022-04-08 03:44:46,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1383450367] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:44:46,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1911449107] [2022-04-08 03:44:46,096 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:44:46,096 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:44:46,096 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:44:46,097 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 03:44:46,098 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 03:44:46,240 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:44:46,241 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:44:46,243 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 03:44:46,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:44:46,264 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:44:46,329 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-08 03:44:46,330 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 03:44:46,369 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 03:44:46,479 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:44:46,479 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 03:44:46,559 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:44:46,559 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 03:44:46,639 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:44:46,640 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 03:44:46,737 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-08 03:44:46,737 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 03:44:47,342 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 03:44:48,885 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-08 03:44:48,885 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 03:44:49,016 INFO L272 TraceCheckUtils]: 0: Hoare triple {112235#true} call ULTIMATE.init(); {112235#true} is VALID [2022-04-08 03:44:49,017 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 03:44:49,017 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 03:44:49,018 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 03:44:49,018 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 03:44:49,018 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 03:44:49,019 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 03:44:49,019 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 03:44:49,020 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 03:44:49,020 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 03:44:49,021 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 03:44:49,022 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 03:44:49,022 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 03:44:49,023 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 03:44:49,023 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 03:44:49,023 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 03:44:49,024 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 03:44:49,024 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 03:44:49,025 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 03:44:49,025 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 03:44:49,025 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 03:44:49,026 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 03:44:49,026 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 03:44:49,026 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 03:44:49,027 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 03:44:49,027 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 03:44:49,027 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 03:44:49,028 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 03:44:49,028 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 03:44:49,028 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 03:44:49,029 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 03:44:49,029 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 03:44:49,029 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 03:44:49,030 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 03:44:49,030 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 03:44:49,031 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 03:44:49,032 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 03:44:49,032 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 03:44:49,032 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 03:44:49,033 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 03:44:49,033 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 03:44:49,034 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 03:44:49,034 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 03:44:49,035 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 03:44:49,035 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 03:44:49,036 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 03:44:49,038 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 03:44:49,038 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 03:44:49,039 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 03:44:49,039 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 03:44:49,040 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 03:44:49,040 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 03:44:49,041 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 03:44:49,041 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 03:44:49,042 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 03:44:49,042 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 03:44:49,044 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 03:44:49,044 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 03:44:49,045 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 03:44:49,045 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 03:44:49,046 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 03:44:49,046 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 03:44:49,047 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 03:44:49,048 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 03:44:49,048 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 03:44:49,049 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 03:44:49,049 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 03:44:49,051 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 03:44:49,051 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 03:44:49,052 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 03:44:49,052 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 03:44:49,053 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 03:44:49,053 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 03:44:49,054 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 03:44:49,054 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 03:44:49,055 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 03:44:49,055 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 03:44:49,055 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 03:44:49,056 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 03:44:49,056 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 03:44:49,057 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 03:44:49,057 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 03:44:49,058 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 03:44:49,058 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 03:44:49,059 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 03:44:49,059 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 03:44:49,059 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 03:44:49,060 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 03:44:49,060 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 03:44:49,061 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 03:44:49,061 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 03:44:49,062 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 03:44:49,062 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 03:44:49,062 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 03:44:49,063 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 03:44:49,063 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 03:44:49,064 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 03:44:49,064 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 03:44:49,065 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 03:44:49,065 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 03:44:49,066 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 03:44:49,066 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 03:44:49,066 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 03:44:49,067 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 03:44:49,067 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 03:44:49,067 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 03:44:49,068 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 03:44:49,068 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 03:44:49,069 INFO L290 TraceCheckUtils]: 108: Hoare triple {112687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {112236#false} is VALID [2022-04-08 03:44:49,069 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-08 03:44:49,069 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 03:44:49,069 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:44:49,533 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 03:44:49,535 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1911449107] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:44:49,535 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:44:49,535 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 22] total 56 [2022-04-08 03:44:49,535 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:44:49,535 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1660244568] [2022-04-08 03:44:49,535 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1660244568] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:44:49,535 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:44:49,535 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-08 03:44:49,535 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1010925555] [2022-04-08 03:44:49,535 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:44:49,536 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 03:44:49,536 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:44:49,536 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 03:44:49,600 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 03:44:49,600 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-08 03:44:49,601 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:44:49,601 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-08 03:44:49,601 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=3669, Unknown=11, NotChecked=122, Total=4032 [2022-04-08 03:44:49,601 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 03:45:50,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:45:50,296 INFO L93 Difference]: Finished difference Result 3068 states and 4214 transitions. [2022-04-08 03:45:50,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 85 states. [2022-04-08 03:45:50,296 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 03:45:50,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:45:50,296 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 03:45:50,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-08 03:45:50,298 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 03:45:50,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-08 03:45:50,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 209 transitions. [2022-04-08 03:45:50,640 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 03:45:50,998 INFO L225 Difference]: With dead ends: 3068 [2022-04-08 03:45:50,998 INFO L226 Difference]: Without dead ends: 2901 [2022-04-08 03:45:51,000 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 280 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 143 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 6074 ImplicationChecksByTransitivity, 12.6s TimeCoverageRelationStatistics Valid=2026, Invalid=18529, Unknown=41, NotChecked=284, Total=20880 [2022-04-08 03:45:51,000 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 208 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 2400 mSolverCounterSat, 214 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 03:45:51,001 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.5s Time] [2022-04-08 03:45:51,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2901 states. [2022-04-08 03:46:21,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2901 to 2224. [2022-04-08 03:46:21,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:46:21,096 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 03:46:21,098 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 03:46:21,099 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 03:46:21,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:46:21,349 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-08 03:46:21,349 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-08 03:46:21,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:46:21,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:46:21,354 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 03:46:21,356 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 03:46:21,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:46:21,587 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-08 03:46:21,587 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-08 03:46:21,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:46:21,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:46:21,589 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:46:21,589 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:46:21,592 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 03:46:21,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2224 states to 2224 states and 3044 transitions. [2022-04-08 03:46:21,793 INFO L78 Accepts]: Start accepts. Automaton has 2224 states and 3044 transitions. Word has length 110 [2022-04-08 03:46:21,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:46:21,793 INFO L478 AbstractCegarLoop]: Abstraction has 2224 states and 3044 transitions. [2022-04-08 03:46:21,793 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 03:46:21,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2224 states and 3044 transitions. [2022-04-08 03:46:42,148 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 03:46:42,148 INFO L276 IsEmpty]: Start isEmpty. Operand 2224 states and 3044 transitions. [2022-04-08 03:46:42,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 03:46:42,150 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:46:42,150 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 03:46:42,167 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2022-04-08 03:46:42,351 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 03:46:42,351 INFO L403 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:46:42,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:46:42,351 INFO L85 PathProgramCache]: Analyzing trace with hash -498967174, now seen corresponding path program 27 times [2022-04-08 03:46:42,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:46:42,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [194530294] [2022-04-08 03:46:42,361 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:46:42,361 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:46:42,362 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:46:42,362 INFO L85 PathProgramCache]: Analyzing trace with hash -498967174, now seen corresponding path program 28 times [2022-04-08 03:46:42,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:46:42,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1923474915] [2022-04-08 03:46:42,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:46:42,362 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:46:42,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,099 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:46:43,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,118 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 03:46:43,119 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 03:46:43,119 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 03:46:43,132 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 03:46:43,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,214 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 03:46:43,215 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 03:46:43,215 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 03:46:43,216 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 03:46:43,216 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 03:46:43,216 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 03:46:43,217 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 03:46:43,217 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 03:46:43,218 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 03:46:43,218 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 03:46:43,218 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 03:46:43,219 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 03:46:43,219 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 03:46:43,219 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 03:46:43,220 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 03:46:43,220 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 03:46:43,221 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 03:46:43,221 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 03:46:43,221 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 03:46:43,222 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 03:46:43,222 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 03:46:43,222 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 03:46:43,223 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 03:46:43,223 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 03:46:43,224 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 03:46:43,224 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 03:46:43,224 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 03:46:43,225 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 03:46:43,225 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 03:46:43,225 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 03:46:43,226 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 03:46:43,226 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 03:46:43,227 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 03:46:43,227 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 03:46:43,227 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 03:46:43,228 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 03:46:43,228 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 03:46:43,228 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 03:46:43,229 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 03:46:43,229 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 03:46:43,230 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 03:46:43,230 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 03:46:43,230 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 03:46:43,231 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 03:46:43,231 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 03:46:43,231 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 03:46:43,232 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 03:46:43,232 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 03:46:43,233 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 03:46:43,233 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 03:46:43,234 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 03:46:43,234 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 03:46:43,234 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 03:46:43,235 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 03:46:43,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 03:46:43,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,239 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 03:46:43,239 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-08 03:46:43,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,242 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 03:46:43,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-08 03:46:43,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,244 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,245 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 03:46:43,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-08 03:46:43,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,248 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 03:46:43,248 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 03:46:43,249 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 03:46:43,249 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 03:46:43,250 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 03:46:43,250 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 03:46:43,251 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 03:46:43,252 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 03:46:43,252 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 03:46:43,253 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 03:46:43,254 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 03:46:43,255 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 03:46:43,255 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 03:46:43,256 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 03:46:43,257 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 03:46:43,258 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 03:46:43,258 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 03:46:43,259 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 03:46:43,259 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 03:46:43,259 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 03:46:43,260 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 03:46:43,260 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 03:46:43,261 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 03:46:43,261 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 03:46:43,261 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 03:46:43,262 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 03:46:43,262 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 03:46:43,263 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 03:46:43,263 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 03:46:43,263 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 03:46:43,264 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 03:46:43,264 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 03:46:43,264 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 03:46:43,265 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 03:46:43,265 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 03:46:43,266 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 03:46:43,266 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 03:46:43,266 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 03:46:43,267 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 03:46:43,267 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 03:46:43,267 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 03:46:43,268 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 03:46:43,268 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 03:46:43,269 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 03:46:43,269 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 03:46:43,269 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 03:46:43,270 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 03:46:43,270 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 03:46:43,271 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 03:46:43,271 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 03:46:43,271 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 03:46:43,272 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 03:46:43,272 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 03:46:43,272 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 03:46:43,273 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 03:46:43,273 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 03:46:43,273 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 03:46:43,274 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 03:46:43,274 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 03:46:43,275 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 03:46:43,275 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 03:46:43,275 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 03:46:43,276 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 03:46:43,276 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 03:46:43,277 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 03:46:43,277 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 03:46:43,277 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 03:46:43,278 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 03:46:43,278 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 03:46:43,279 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 03:46:43,279 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 03:46:43,279 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 03:46:43,280 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 03:46:43,280 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 03:46:43,281 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 03:46:43,281 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 03:46:43,281 INFO L290 TraceCheckUtils]: 75: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,281 INFO L290 TraceCheckUtils]: 76: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,281 INFO L290 TraceCheckUtils]: 77: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,282 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 03:46:43,282 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 03:46:43,283 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 03:46:43,283 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 03:46:43,283 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 03:46:43,283 INFO L290 TraceCheckUtils]: 83: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,283 INFO L290 TraceCheckUtils]: 84: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,283 INFO L290 TraceCheckUtils]: 85: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,284 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 03:46:43,284 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 03:46:43,285 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 03:46:43,285 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 03:46:43,285 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 03:46:43,285 INFO L290 TraceCheckUtils]: 91: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,286 INFO L290 TraceCheckUtils]: 92: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,286 INFO L290 TraceCheckUtils]: 93: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,286 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 03:46:43,286 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 03:46:43,287 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 03:46:43,288 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 03:46:43,288 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 03:46:43,288 INFO L290 TraceCheckUtils]: 99: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-08 03:46:43,288 INFO L290 TraceCheckUtils]: 100: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-08 03:46:43,288 INFO L290 TraceCheckUtils]: 101: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-08 03:46:43,288 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 03:46:43,289 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 03:46:43,289 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 03:46:43,290 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 03:46:43,290 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 03:46:43,291 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 03:46:43,291 INFO L290 TraceCheckUtils]: 108: Hoare triple {129458#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {129368#false} is VALID [2022-04-08 03:46:43,291 INFO L290 TraceCheckUtils]: 109: Hoare triple {129368#false} assume !false; {129368#false} is VALID [2022-04-08 03:46:43,291 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 03:46:43,292 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:46:43,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1923474915] [2022-04-08 03:46:43,292 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1923474915] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:46:43,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1810063665] [2022-04-08 03:46:43,292 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:46:43,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:46:43,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:46:43,293 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 03:46:43,294 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 03:46:43,483 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:46:43,483 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:46:43,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 72 conjunts are in the unsatisfiable core [2022-04-08 03:46:43,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:46:43,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:46:43,567 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 03:46:43,640 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:46:43,640 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 03:46:43,697 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:46:43,697 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 03:46:43,775 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:43,776 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 03:46:43,915 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:43,916 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:43,917 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:43,919 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 03:46:43,919 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 03:46:45,641 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-04-08 03:46:45,642 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 03:46:50,582 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:50,583 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:50,583 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:50,584 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:50,585 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:46:50,585 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 03:46:50,588 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 03:46:50,588 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 03:46:50,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {129367#true} call ULTIMATE.init(); {129367#true} is VALID [2022-04-08 03:46:50,769 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 03:46:50,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {129469#(= |~#array~0.offset| 0)} assume true; {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-08 03:46:50,770 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 03:46:50,770 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 03:46:50,771 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 03:46:50,771 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 03:46:50,772 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 03:46:50,772 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 03:46:50,773 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 03:46:50,774 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 03:46:50,774 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 03:46:50,775 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 03:46:50,776 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 03:46:50,777 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 03:46:50,778 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 03:46:50,779 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 03:46:50,780 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 03:46:50,780 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 03:46:50,780 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 03:46:50,781 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 03:46:50,781 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 03:46:50,782 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 03:46:50,782 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 03:46:50,783 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 03:46:50,783 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 03:46:50,784 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 03:46:50,784 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 03:46:50,785 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 03:46:50,785 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 03:46:50,785 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 03:46:50,786 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 03:46:50,786 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 03:46:50,787 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 03:46:50,788 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 03:46:50,788 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 03:46:50,789 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 03:46:50,789 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 03:46:50,790 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 03:46:50,790 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 03:46:50,791 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 03:46:50,791 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 03:46:50,792 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 03:46:50,792 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 03:46:50,792 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 03:46:50,793 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 03:46:50,795 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 03:46:50,795 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 03:46:50,795 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 03:46:50,796 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 03:46:50,796 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 03:46:50,797 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 03:46:50,797 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 03:46:50,798 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 03:46:50,798 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 03:46:50,798 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 03:46:50,800 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 03:46:50,800 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 03:46:50,801 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 03:46:50,801 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 03:46:50,802 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 03:46:50,802 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 03:46:50,803 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 03:46:50,804 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 03:46:50,805 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 03:46:50,805 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 03:46:50,806 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 03:46:50,807 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 03:46:50,808 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 03:46:50,808 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 03:46:50,809 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 03:46:50,811 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 03:46:50,812 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 03:46:50,813 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 03:46:50,814 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 03:46:50,815 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 03:46:50,816 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 03:46:50,817 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 03:46:50,817 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 03:46:50,818 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 03:46:50,819 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 03:46:50,820 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 03:46:50,821 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 03:46:50,822 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 03:46:50,823 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 03:46:50,824 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 03:46:50,825 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 03:46:50,826 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 03:46:50,827 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 03:46:50,828 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 03:46:50,829 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 03:46:50,830 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 03:46:50,831 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 03:46:50,832 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 03:46:50,833 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 03:46:50,834 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 03:46:50,835 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 03:46:50,836 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 03:46:50,837 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 03:46:50,838 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 03:46:50,839 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 03:46:50,840 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 03:46:50,841 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 03:46:50,842 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 03:46:50,843 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 03:46:50,844 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 03:46:50,844 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 03:46:50,845 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 03:46:50,845 INFO L290 TraceCheckUtils]: 108: Hoare triple {129818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {129368#false} is VALID [2022-04-08 03:46:50,845 INFO L290 TraceCheckUtils]: 109: Hoare triple {129368#false} assume !false; {129368#false} is VALID [2022-04-08 03:46:50,846 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 03:46:50,846 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:46:51,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1810063665] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:46:51,444 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 03:46:51,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 34] total 55 [2022-04-08 03:46:51,444 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:46:51,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [194530294] [2022-04-08 03:46:51,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [194530294] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:46:51,444 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:46:51,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 03:46:51,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [20797724] [2022-04-08 03:46:51,444 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:46:51,445 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 03:46:51,445 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:46:51,445 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 03:46:51,500 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 03:46:51,500 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 03:46:51,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:46:51,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 03:46:51,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=291, Invalid=3484, Unknown=7, NotChecked=0, Total=3782 [2022-04-08 03:46:51,501 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)