/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-e106359-m [2022-04-15 05:41:41,383 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 05:41:41,385 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 05:41:41,414 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 05:41:41,414 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 05:41:41,415 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 05:41:41,416 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 05:41:41,418 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 05:41:41,419 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 05:41:41,420 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 05:41:41,421 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 05:41:41,422 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 05:41:41,422 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 05:41:41,423 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 05:41:41,424 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 05:41:41,424 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 05:41:41,425 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 05:41:41,426 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 05:41:41,427 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 05:41:41,428 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 05:41:41,429 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 05:41:41,432 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 05:41:41,433 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 05:41:41,434 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 05:41:41,435 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 05:41:41,443 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 05:41:41,443 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 05:41:41,443 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 05:41:41,444 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 05:41:41,444 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 05:41:41,445 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 05:41:41,445 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 05:41:41,446 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 05:41:41,446 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 05:41:41,447 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 05:41:41,448 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 05:41:41,448 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 05:41:41,448 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 05:41:41,449 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 05:41:41,449 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 05:41:41,450 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 05:41:41,456 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 05:41:41,457 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 05:41:41,462 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 05:41:41,463 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 05:41:41,463 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 05:41:41,464 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 05:41:41,465 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 05:41:41,465 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 05:41:41,465 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 05:41:41,466 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 05:41:41,466 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 05:41:41,466 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 05:41:41,674 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 05:41:41,698 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 05:41:41,700 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 05:41:41,701 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 05:41:41,702 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 05:41:41,704 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/eureka_05.i [2022-04-15 05:41:41,759 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be59a6025/efb52cbce6c64a759ca6743c3d8976c8/FLAG6afa073b3 [2022-04-15 05:41:42,151 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 05:41:42,151 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i [2022-04-15 05:41:42,158 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be59a6025/efb52cbce6c64a759ca6743c3d8976c8/FLAG6afa073b3 [2022-04-15 05:41:42,178 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be59a6025/efb52cbce6c64a759ca6743c3d8976c8 [2022-04-15 05:41:42,181 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 05:41:42,184 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 05:41:42,186 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 05:41:42,186 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 05:41:42,190 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 05:41:42,191 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,193 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5606cf51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42, skipping insertion in model container [2022-04-15 05:41:42,193 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,199 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 05:41:42,210 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 05:41:42,337 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i[810,823] [2022-04-15 05:41:42,352 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 05:41:42,360 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 05:41:42,370 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i[810,823] [2022-04-15 05:41:42,377 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 05:41:42,389 INFO L208 MainTranslator]: Completed translation [2022-04-15 05:41:42,389 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42 WrapperNode [2022-04-15 05:41:42,389 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 05:41:42,390 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 05:41:42,390 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 05:41:42,390 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 05:41:42,408 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,409 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,420 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,420 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,430 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,435 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,436 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,437 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 05:41:42,438 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 05:41:42,438 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 05:41:42,438 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 05:41:42,439 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (1/1) ... [2022-04-15 05:41:42,446 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 05:41:42,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:41:42,463 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 05:41:42,465 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 05:41:42,493 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 05:41:42,493 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 05:41:42,493 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 05:41:42,493 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 05:41:42,493 INFO L138 BoogieDeclarations]: Found implementation of procedure SelectionSort [2022-04-15 05:41:42,494 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure SelectionSort [2022-04-15 05:41:42,494 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 05:41:42,495 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 05:41:42,495 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 05:41:42,495 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-15 05:41:42,495 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 05:41:42,495 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 05:41:42,495 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 05:41:42,495 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 05:41:42,554 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 05:41:42,556 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 05:41:42,763 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 05:41:42,770 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 05:41:42,771 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-04-15 05:41:42,772 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 05:41:42 BoogieIcfgContainer [2022-04-15 05:41:42,773 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 05:41:42,774 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 05:41:42,774 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 05:41:42,777 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 05:41:42,778 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 05:41:42" (1/3) ... [2022-04-15 05:41:42,778 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3f3cca0d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 05:41:42, skipping insertion in model container [2022-04-15 05:41:42,778 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 05:41:42" (2/3) ... [2022-04-15 05:41:42,779 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3f3cca0d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 05:41:42, skipping insertion in model container [2022-04-15 05:41:42,779 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 05:41:42" (3/3) ... [2022-04-15 05:41:42,780 INFO L111 eAbstractionObserver]: Analyzing ICFG eureka_05.i [2022-04-15 05:41:42,784 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 05:41:42,784 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 05:41:42,835 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 05:41:42,840 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 05:41:42,840 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 05:41:42,871 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 24 states have (on average 1.4583333333333333) internal successors, (35), 25 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:41:42,880 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-15 05:41:42,880 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:41:42,881 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:41:42,881 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:41:42,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:41:42,886 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 1 times [2022-04-15 05:41:42,894 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:42,894 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [540143724] [2022-04-15 05:41:42,902 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 05:41:42,903 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 2 times [2022-04-15 05:41:42,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:41:42,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258399740] [2022-04-15 05:41:42,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:41:42,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:41:43,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:43,119 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:41:43,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:43,148 INFO L290 TraceCheckUtils]: 0: Hoare triple {46#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {37#true} is VALID [2022-04-15 05:41:43,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 05:41:43,149 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-15 05:41:43,158 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-15 05:41:43,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:43,174 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {37#true} is VALID [2022-04-15 05:41:43,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-15 05:41:43,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 05:41:43,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-15 05:41:43,177 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {46#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:41:43,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {46#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {37#true} is VALID [2022-04-15 05:41:43,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 05:41:43,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-15 05:41:43,178 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret10 := main(); {37#true} is VALID [2022-04-15 05:41:43,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {37#true} is VALID [2022-04-15 05:41:43,179 INFO L290 TraceCheckUtils]: 6: Hoare triple {37#true} assume !true; {38#false} is VALID [2022-04-15 05:41:43,180 INFO L272 TraceCheckUtils]: 7: Hoare triple {38#false} call SelectionSort(); {47#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:43,181 INFO L290 TraceCheckUtils]: 8: Hoare triple {47#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {37#true} is VALID [2022-04-15 05:41:43,181 INFO L290 TraceCheckUtils]: 9: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-15 05:41:43,181 INFO L290 TraceCheckUtils]: 10: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 05:41:43,181 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-15 05:41:43,182 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#false} ~i~1 := 0; {38#false} is VALID [2022-04-15 05:41:43,182 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {38#false} is VALID [2022-04-15 05:41:43,182 INFO L272 TraceCheckUtils]: 14: Hoare triple {38#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {38#false} is VALID [2022-04-15 05:41:43,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-15 05:41:43,183 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-15 05:41:43,183 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-15 05:41:43,183 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-15 05:41:43,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:41:43,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258399740] [2022-04-15 05:41:43,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1258399740] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:43,185 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:43,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 05:41:43,188 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:41:43,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [540143724] [2022-04-15 05:41:43,189 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [540143724] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:43,189 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:43,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 05:41:43,189 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1552627635] [2022-04-15 05:41:43,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:41:43,195 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-15 05:41:43,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:41:43,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:43,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:43,220 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-15 05:41:43,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:43,245 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-15 05:41:43,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-15 05:41:43,249 INFO L87 Difference]: Start difference. First operand has 34 states, 24 states have (on average 1.4583333333333333) internal successors, (35), 25 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:43,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:43,557 INFO L93 Difference]: Finished difference Result 77 states and 109 transitions. [2022-04-15 05:41:43,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 05:41:43,557 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-15 05:41:43,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:41:43,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:43,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-15 05:41:43,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:43,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-15 05:41:43,568 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 109 transitions. [2022-04-15 05:41:43,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:43,684 INFO L225 Difference]: With dead ends: 77 [2022-04-15 05:41:43,684 INFO L226 Difference]: Without dead ends: 43 [2022-04-15 05:41:43,687 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-15 05:41:43,690 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 67 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 30 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:41:43,691 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [70 Valid, 30 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 05:41:43,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-15 05:41:43,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2022-04-15 05:41:43,718 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:41:43,719 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:43,720 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:43,720 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:43,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:43,724 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-15 05:41:43,724 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-15 05:41:43,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:43,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:43,725 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 43 states. [2022-04-15 05:41:43,725 INFO L87 Difference]: Start difference. First operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 43 states. [2022-04-15 05:41:43,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:43,728 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-15 05:41:43,728 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-15 05:41:43,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:43,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:43,729 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:41:43,729 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:41:43,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:43,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2022-04-15 05:41:43,732 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 18 [2022-04-15 05:41:43,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:41:43,732 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2022-04-15 05:41:43,733 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:43,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 33 transitions. [2022-04-15 05:41:43,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:43,785 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 05:41:43,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-15 05:41:43,785 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:41:43,785 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:41:43,786 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 05:41:43,786 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:41:43,786 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:41:43,787 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 1 times [2022-04-15 05:41:43,787 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:43,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [270010220] [2022-04-15 05:41:43,787 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 05:41:43,787 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 2 times [2022-04-15 05:41:43,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:41:43,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1761280999] [2022-04-15 05:41:43,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:41:43,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:41:43,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:43,851 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:41:43,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:43,869 INFO L290 TraceCheckUtils]: 0: Hoare triple {361#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {351#true} is VALID [2022-04-15 05:41:43,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 05:41:43,869 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-15 05:41:43,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-15 05:41:43,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:43,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {362#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {351#true} is VALID [2022-04-15 05:41:43,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-15 05:41:43,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 05:41:43,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-15 05:41:43,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {351#true} call ULTIMATE.init(); {361#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:41:43,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {351#true} is VALID [2022-04-15 05:41:43,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 05:41:43,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-15 05:41:43,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {351#true} call #t~ret10 := main(); {351#true} is VALID [2022-04-15 05:41:43,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {351#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {356#(<= 4 main_~i~1)} is VALID [2022-04-15 05:41:43,884 INFO L290 TraceCheckUtils]: 6: Hoare triple {356#(<= 4 main_~i~1)} assume !(~i~1 >= 0); {352#false} is VALID [2022-04-15 05:41:43,884 INFO L272 TraceCheckUtils]: 7: Hoare triple {352#false} call SelectionSort(); {362#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:43,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {362#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {351#true} is VALID [2022-04-15 05:41:43,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-15 05:41:43,888 INFO L290 TraceCheckUtils]: 10: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 05:41:43,889 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-15 05:41:43,889 INFO L290 TraceCheckUtils]: 12: Hoare triple {352#false} ~i~1 := 0; {352#false} is VALID [2022-04-15 05:41:43,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {352#false} is VALID [2022-04-15 05:41:43,889 INFO L272 TraceCheckUtils]: 14: Hoare triple {352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {352#false} is VALID [2022-04-15 05:41:43,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {352#false} ~cond := #in~cond; {352#false} is VALID [2022-04-15 05:41:43,889 INFO L290 TraceCheckUtils]: 16: Hoare triple {352#false} assume 0 == ~cond; {352#false} is VALID [2022-04-15 05:41:43,889 INFO L290 TraceCheckUtils]: 17: Hoare triple {352#false} assume !false; {352#false} is VALID [2022-04-15 05:41:43,890 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-15 05:41:43,890 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:41:43,890 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1761280999] [2022-04-15 05:41:43,890 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1761280999] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:43,890 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:43,890 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 05:41:43,891 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:41:43,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [270010220] [2022-04-15 05:41:43,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [270010220] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:43,918 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:43,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 05:41:43,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1712107239] [2022-04-15 05:41:43,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:41:43,920 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-15 05:41:43,920 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:41:43,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:43,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:43,959 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 05:41:43,959 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:43,959 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 05:41:43,959 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 05:41:43,960 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:44,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:44,190 INFO L93 Difference]: Finished difference Result 59 states and 70 transitions. [2022-04-15 05:41:44,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 05:41:44,191 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-15 05:41:44,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:41:44,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:44,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-15 05:41:44,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:44,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-15 05:41:44,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-15 05:41:44,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:44,290 INFO L225 Difference]: With dead ends: 59 [2022-04-15 05:41:44,291 INFO L226 Difference]: Without dead ends: 38 [2022-04-15 05:41:44,291 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-15 05:41:44,292 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 48 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 63 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 25 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 63 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:41:44,293 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 25 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 63 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 05:41:44,294 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-15 05:41:44,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 30. [2022-04-15 05:41:44,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:41:44,318 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:44,318 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:44,318 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:44,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:44,320 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-15 05:41:44,321 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-15 05:41:44,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:44,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:44,323 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-15 05:41:44,324 INFO L87 Difference]: Start difference. First operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-15 05:41:44,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:44,327 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-15 05:41:44,327 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-15 05:41:44,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:44,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:44,327 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:41:44,327 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:41:44,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:44,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2022-04-15 05:41:44,329 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 18 [2022-04-15 05:41:44,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:41:44,329 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2022-04-15 05:41:44,330 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:44,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 34 transitions. [2022-04-15 05:41:44,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:44,400 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2022-04-15 05:41:44,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-15 05:41:44,400 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:41:44,400 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:41:44,400 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 05:41:44,401 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:41:44,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:41:44,401 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 1 times [2022-04-15 05:41:44,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:44,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1657726161] [2022-04-15 05:41:44,414 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:41:44,414 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:41:44,414 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:41:44,414 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 2 times [2022-04-15 05:41:44,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:41:44,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94258921] [2022-04-15 05:41:44,416 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:41:44,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:41:44,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:44,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:41:44,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:44,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {637#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {626#true} is VALID [2022-04-15 05:41:44,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 05:41:44,498 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-15 05:41:44,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-15 05:41:44,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:44,513 INFO L290 TraceCheckUtils]: 0: Hoare triple {638#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {626#true} is VALID [2022-04-15 05:41:44,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-15 05:41:44,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 05:41:44,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-15 05:41:44,514 INFO L272 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {637#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:41:44,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {637#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {626#true} is VALID [2022-04-15 05:41:44,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 05:41:44,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-15 05:41:44,515 INFO L272 TraceCheckUtils]: 4: Hoare triple {626#true} call #t~ret10 := main(); {626#true} is VALID [2022-04-15 05:41:44,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {626#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {631#(<= 4 main_~i~1)} is VALID [2022-04-15 05:41:44,520 INFO L290 TraceCheckUtils]: 6: Hoare triple {631#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {631#(<= 4 main_~i~1)} is VALID [2022-04-15 05:41:44,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {631#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {632#(<= 3 main_~i~1)} is VALID [2022-04-15 05:41:44,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {632#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {627#false} is VALID [2022-04-15 05:41:44,521 INFO L272 TraceCheckUtils]: 9: Hoare triple {627#false} call SelectionSort(); {638#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:44,521 INFO L290 TraceCheckUtils]: 10: Hoare triple {638#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {626#true} is VALID [2022-04-15 05:41:44,521 INFO L290 TraceCheckUtils]: 11: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-15 05:41:44,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 05:41:44,521 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-15 05:41:44,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-15 05:41:44,521 INFO L290 TraceCheckUtils]: 15: Hoare triple {627#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {627#false} is VALID [2022-04-15 05:41:44,522 INFO L272 TraceCheckUtils]: 16: Hoare triple {627#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {627#false} is VALID [2022-04-15 05:41:44,522 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-15 05:41:44,522 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-15 05:41:44,522 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-15 05:41:44,522 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-15 05:41:44,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:41:44,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94258921] [2022-04-15 05:41:44,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [94258921] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:41:44,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [419173412] [2022-04-15 05:41:44,523 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:41:44,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:41:44,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:41:44,528 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:41:44,533 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 05:41:44,639 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 05:41:44,639 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:41:44,641 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-15 05:41:44,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:44,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:41:44,841 INFO L272 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {626#true} is VALID [2022-04-15 05:41:44,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {645#(<= 5 ~n~0)} assume true; {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {645#(<= 5 ~n~0)} {626#true} #95#return; {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {645#(<= 5 ~n~0)} call #t~ret10 := main(); {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {645#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {645#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {645#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {645#(<= 5 ~n~0)} assume !(~i~1 >= 0); {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,851 INFO L272 TraceCheckUtils]: 9: Hoare triple {645#(<= 5 ~n~0)} call SelectionSort(); {645#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:44,851 INFO L290 TraceCheckUtils]: 10: Hoare triple {645#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {673#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:44,852 INFO L290 TraceCheckUtils]: 11: Hoare triple {673#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~lh~0 < ~n~0); {627#false} is VALID [2022-04-15 05:41:44,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {627#false} assume true; {627#false} is VALID [2022-04-15 05:41:44,852 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {627#false} {645#(<= 5 ~n~0)} #91#return; {627#false} is VALID [2022-04-15 05:41:44,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-15 05:41:44,853 INFO L290 TraceCheckUtils]: 15: Hoare triple {627#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {627#false} is VALID [2022-04-15 05:41:44,853 INFO L272 TraceCheckUtils]: 16: Hoare triple {627#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {627#false} is VALID [2022-04-15 05:41:44,853 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-15 05:41:44,853 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-15 05:41:44,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-15 05:41:44,854 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 05:41:44,854 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 05:41:44,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [419173412] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:44,854 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 05:41:44,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 8 [2022-04-15 05:41:44,856 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:41:44,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1657726161] [2022-04-15 05:41:44,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1657726161] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:44,856 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:44,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 05:41:44,857 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1952901618] [2022-04-15 05:41:44,857 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:41:44,860 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-15 05:41:44,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:41:44,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:44,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:44,878 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-15 05:41:44,879 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:44,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-15 05:41:44,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-15 05:41:44,881 INFO L87 Difference]: Start difference. First operand 30 states and 34 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:45,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:45,005 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-15 05:41:45,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-15 05:41:45,007 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-15 05:41:45,007 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:41:45,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:45,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-15 05:41:45,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:45,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-15 05:41:45,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 55 transitions. [2022-04-15 05:41:45,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:45,059 INFO L225 Difference]: With dead ends: 49 [2022-04-15 05:41:45,059 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 05:41:45,060 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-15 05:41:45,066 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 30 mSDsluCounter, 20 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 05:41:45,070 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 47 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 05:41:45,071 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 05:41:45,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 31. [2022-04-15 05:41:45,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:41:45,107 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:45,108 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:45,108 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:45,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:45,109 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-15 05:41:45,109 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-15 05:41:45,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:45,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:45,110 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 36 states. [2022-04-15 05:41:45,110 INFO L87 Difference]: Start difference. First operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 36 states. [2022-04-15 05:41:45,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:45,111 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-15 05:41:45,111 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-15 05:41:45,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:45,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:45,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:41:45,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:41:45,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:45,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2022-04-15 05:41:45,113 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 20 [2022-04-15 05:41:45,113 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:41:45,113 INFO L478 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2022-04-15 05:41:45,113 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:45,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 35 transitions. [2022-04-15 05:41:45,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:45,151 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2022-04-15 05:41:45,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-15 05:41:45,157 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:41:45,157 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:41:45,179 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 05:41:45,376 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:41:45,377 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:41:45,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:41:45,377 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 1 times [2022-04-15 05:41:45,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:45,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2122654797] [2022-04-15 05:41:45,381 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:41:45,381 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:41:45,381 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:41:45,381 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 2 times [2022-04-15 05:41:45,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:41:45,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [922221676] [2022-04-15 05:41:45,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:41:45,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:41:45,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:45,432 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:41:45,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:45,444 INFO L290 TraceCheckUtils]: 0: Hoare triple {947#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-15 05:41:45,444 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 05:41:45,444 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 05:41:45,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-15 05:41:45,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:45,464 INFO L290 TraceCheckUtils]: 0: Hoare triple {948#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {932#true} is VALID [2022-04-15 05:41:45,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {932#true} is VALID [2022-04-15 05:41:45,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-15 05:41:45,464 INFO L290 TraceCheckUtils]: 3: Hoare triple {932#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {932#true} is VALID [2022-04-15 05:41:45,464 INFO L290 TraceCheckUtils]: 4: Hoare triple {932#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {932#true} is VALID [2022-04-15 05:41:45,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-15 05:41:45,465 INFO L290 TraceCheckUtils]: 6: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 05:41:45,465 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-15 05:41:45,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {947#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:41:45,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {947#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-15 05:41:45,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 05:41:45,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 05:41:45,468 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-15 05:41:45,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {937#(<= 4 main_~i~1)} is VALID [2022-04-15 05:41:45,469 INFO L290 TraceCheckUtils]: 6: Hoare triple {937#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {937#(<= 4 main_~i~1)} is VALID [2022-04-15 05:41:45,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {937#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {938#(<= 3 main_~i~1)} is VALID [2022-04-15 05:41:45,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-15 05:41:45,471 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {948#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:45,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {948#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {932#true} is VALID [2022-04-15 05:41:45,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {932#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {932#true} is VALID [2022-04-15 05:41:45,471 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-15 05:41:45,471 INFO L290 TraceCheckUtils]: 13: Hoare triple {932#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {932#true} is VALID [2022-04-15 05:41:45,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {932#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {932#true} is VALID [2022-04-15 05:41:45,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-15 05:41:45,472 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 05:41:45,472 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-15 05:41:45,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-15 05:41:45,472 INFO L290 TraceCheckUtils]: 19: Hoare triple {933#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {933#false} is VALID [2022-04-15 05:41:45,472 INFO L272 TraceCheckUtils]: 20: Hoare triple {933#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {933#false} is VALID [2022-04-15 05:41:45,472 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-15 05:41:45,472 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-15 05:41:45,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-15 05:41:45,473 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 05:41:45,473 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:41:45,473 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [922221676] [2022-04-15 05:41:45,473 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [922221676] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:41:45,473 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2035557169] [2022-04-15 05:41:45,473 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:41:45,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:41:45,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:41:45,484 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:41:45,486 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 05:41:45,529 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:41:45,530 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:41:45,530 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-15 05:41:45,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:45,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:41:45,610 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-15 05:41:45,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-15 05:41:45,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 05:41:45,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 05:41:45,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-15 05:41:45,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {937#(<= 4 main_~i~1)} is VALID [2022-04-15 05:41:45,612 INFO L290 TraceCheckUtils]: 6: Hoare triple {937#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {937#(<= 4 main_~i~1)} is VALID [2022-04-15 05:41:45,613 INFO L290 TraceCheckUtils]: 7: Hoare triple {937#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {938#(<= 3 main_~i~1)} is VALID [2022-04-15 05:41:45,613 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-15 05:41:45,613 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {933#false} is VALID [2022-04-15 05:41:45,614 INFO L290 TraceCheckUtils]: 10: Hoare triple {933#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {933#false} is VALID [2022-04-15 05:41:45,614 INFO L290 TraceCheckUtils]: 11: Hoare triple {933#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {933#false} is VALID [2022-04-15 05:41:45,614 INFO L290 TraceCheckUtils]: 12: Hoare triple {933#false} assume !(~i~0 < ~n~0); {933#false} is VALID [2022-04-15 05:41:45,614 INFO L290 TraceCheckUtils]: 13: Hoare triple {933#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {933#false} is VALID [2022-04-15 05:41:45,614 INFO L290 TraceCheckUtils]: 14: Hoare triple {933#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {933#false} is VALID [2022-04-15 05:41:45,614 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#false} assume !(~lh~0 < ~n~0); {933#false} is VALID [2022-04-15 05:41:45,614 INFO L290 TraceCheckUtils]: 16: Hoare triple {933#false} assume true; {933#false} is VALID [2022-04-15 05:41:45,615 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {933#false} {933#false} #91#return; {933#false} is VALID [2022-04-15 05:41:45,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-15 05:41:45,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {933#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {933#false} is VALID [2022-04-15 05:41:45,615 INFO L272 TraceCheckUtils]: 20: Hoare triple {933#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {933#false} is VALID [2022-04-15 05:41:45,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-15 05:41:45,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-15 05:41:45,615 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-15 05:41:45,616 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 05:41:45,616 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:41:45,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-15 05:41:45,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-15 05:41:45,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-15 05:41:45,740 INFO L272 TraceCheckUtils]: 20: Hoare triple {933#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {933#false} is VALID [2022-04-15 05:41:45,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {933#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {933#false} is VALID [2022-04-15 05:41:45,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-15 05:41:45,740 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-15 05:41:45,741 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 05:41:45,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-15 05:41:45,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {932#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {932#true} is VALID [2022-04-15 05:41:45,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {932#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {932#true} is VALID [2022-04-15 05:41:45,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-15 05:41:45,741 INFO L290 TraceCheckUtils]: 11: Hoare triple {932#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {932#true} is VALID [2022-04-15 05:41:45,741 INFO L290 TraceCheckUtils]: 10: Hoare triple {932#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {932#true} is VALID [2022-04-15 05:41:45,741 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {932#true} is VALID [2022-04-15 05:41:45,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {1066#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-15 05:41:45,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {1070#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1066#(<= 0 main_~i~1)} is VALID [2022-04-15 05:41:45,749 INFO L290 TraceCheckUtils]: 6: Hoare triple {1070#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1070#(<= 1 main_~i~1)} is VALID [2022-04-15 05:41:45,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1070#(<= 1 main_~i~1)} is VALID [2022-04-15 05:41:45,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-15 05:41:45,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 05:41:45,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 05:41:45,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-15 05:41:45,752 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-15 05:41:45,753 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 05:41:45,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2035557169] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:41:45,754 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:41:45,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4, 4] total 8 [2022-04-15 05:41:45,754 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:41:45,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2122654797] [2022-04-15 05:41:45,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2122654797] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:45,754 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:45,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 05:41:45,754 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [53807541] [2022-04-15 05:41:45,754 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:41:45,755 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 24 [2022-04-15 05:41:45,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:41:45,755 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:45,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:45,771 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 05:41:45,771 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:45,772 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 05:41:45,772 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-04-15 05:41:45,772 INFO L87 Difference]: Start difference. First operand 31 states and 35 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:46,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:46,032 INFO L93 Difference]: Finished difference Result 60 states and 70 transitions. [2022-04-15 05:41:46,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 05:41:46,033 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 24 [2022-04-15 05:41:46,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:41:46,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:46,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-15 05:41:46,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:46,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-15 05:41:46,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-04-15 05:41:46,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:46,089 INFO L225 Difference]: With dead ends: 60 [2022-04-15 05:41:46,089 INFO L226 Difference]: Without dead ends: 38 [2022-04-15 05:41:46,089 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=84, Unknown=0, NotChecked=0, Total=132 [2022-04-15 05:41:46,090 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 46 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 25 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:41:46,090 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 25 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 05:41:46,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-15 05:41:46,118 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 33. [2022-04-15 05:41:46,118 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:41:46,118 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:46,119 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:46,119 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:46,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:46,120 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-15 05:41:46,121 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-15 05:41:46,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:46,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:46,121 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-15 05:41:46,122 INFO L87 Difference]: Start difference. First operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-15 05:41:46,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:46,123 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-15 05:41:46,123 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-15 05:41:46,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:46,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:46,124 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:41:46,124 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:41:46,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:41:46,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 05:41:46,125 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 24 [2022-04-15 05:41:46,125 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:41:46,125 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 05:41:46,125 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:46,126 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 05:41:46,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:46,168 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 05:41:46,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-15 05:41:46,168 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:41:46,168 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:41:46,196 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 05:41:46,383 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-15 05:41:46,384 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:41:46,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:41:46,384 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 3 times [2022-04-15 05:41:46,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:46,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [810969935] [2022-04-15 05:41:46,387 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:41:46,388 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:41:46,388 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:41:46,388 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 4 times [2022-04-15 05:41:46,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:41:46,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [908297580] [2022-04-15 05:41:46,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:41:46,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:41:46,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:46,453 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:41:46,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:46,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {1379#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,472 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:41:46,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:46,501 INFO L290 TraceCheckUtils]: 0: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1381#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:46,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {1381#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1382#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:41:46,502 INFO L290 TraceCheckUtils]: 2: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,503 INFO L290 TraceCheckUtils]: 3: Hoare triple {1383#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,503 INFO L290 TraceCheckUtils]: 4: Hoare triple {1383#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,504 INFO L290 TraceCheckUtils]: 6: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,504 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-15 05:41:46,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1379#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:41:46,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {1379#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {1370#(<= 5 ~n~0)} call #t~ret10 := main(); {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {1370#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,508 INFO L290 TraceCheckUtils]: 6: Hoare triple {1370#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {1370#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {1370#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {1370#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,509 INFO L290 TraceCheckUtils]: 10: Hoare triple {1370#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1370#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:46,509 INFO L272 TraceCheckUtils]: 11: Hoare triple {1370#(<= 5 ~n~0)} call SelectionSort(); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:46,510 INFO L290 TraceCheckUtils]: 12: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1381#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:46,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {1381#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1382#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:41:46,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {1383#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,511 INFO L290 TraceCheckUtils]: 16: Hoare triple {1383#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,512 INFO L290 TraceCheckUtils]: 17: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-15 05:41:46,512 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-15 05:41:46,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {1366#false} ~i~1 := 0; {1366#false} is VALID [2022-04-15 05:41:46,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {1366#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1366#false} is VALID [2022-04-15 05:41:46,513 INFO L272 TraceCheckUtils]: 22: Hoare triple {1366#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1366#false} is VALID [2022-04-15 05:41:46,513 INFO L290 TraceCheckUtils]: 23: Hoare triple {1366#false} ~cond := #in~cond; {1366#false} is VALID [2022-04-15 05:41:46,513 INFO L290 TraceCheckUtils]: 24: Hoare triple {1366#false} assume 0 == ~cond; {1366#false} is VALID [2022-04-15 05:41:46,513 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-15 05:41:46,513 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 05:41:46,514 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:41:46,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [908297580] [2022-04-15 05:41:46,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [908297580] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:41:46,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1365495727] [2022-04-15 05:41:46,514 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:41:46,514 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:41:46,514 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:41:46,515 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:41:46,529 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 05:41:46,569 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:41:46,569 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:41:46,570 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 05:41:46,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:46,584 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:41:46,634 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:41:47,283 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-15 05:41:47,283 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 10 [2022-04-15 05:41:47,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-15 05:41:47,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {1365#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1365#true} is VALID [2022-04-15 05:41:47,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-15 05:41:47,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-15 05:41:47,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-15 05:41:47,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {1365#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1365#true} is VALID [2022-04-15 05:41:47,462 INFO L290 TraceCheckUtils]: 6: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1365#true} is VALID [2022-04-15 05:41:47,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {1365#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1365#true} is VALID [2022-04-15 05:41:47,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1411#(and (<= 0 main_~i~1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:41:47,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {1411#(and (<= 0 main_~i~1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1415#(exists ((v_main_~i~1_24 Int)) (and (<= 0 v_main_~i~1_24) (<= v_main_~i~1_24 (+ main_~i~1 1)) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} is VALID [2022-04-15 05:41:47,466 INFO L290 TraceCheckUtils]: 10: Hoare triple {1415#(exists ((v_main_~i~1_24 Int)) (and (<= 0 v_main_~i~1_24) (<= v_main_~i~1_24 (+ main_~i~1 1)) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} assume !(~i~1 >= 0); {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} is VALID [2022-04-15 05:41:47,467 INFO L272 TraceCheckUtils]: 11: Hoare triple {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} call SelectionSort(); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:47,467 INFO L290 TraceCheckUtils]: 12: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1426#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:41:47,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {1426#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:41:47,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} assume !(~i~0 < ~n~0); {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:41:47,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:47,470 INFO L290 TraceCheckUtils]: 16: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:47,470 INFO L290 TraceCheckUtils]: 17: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} assume !(~lh~0 < ~n~0); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:47,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} assume true; {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:47,472 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1380#(= |#memory_int| |old(#memory_int)|)} {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} #91#return; {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} is VALID [2022-04-15 05:41:47,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} ~i~1 := 0; {1452#(and (exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-15 05:41:47,473 INFO L290 TraceCheckUtils]: 21: Hoare triple {1452#(and (exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|))))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1456#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} is VALID [2022-04-15 05:41:47,474 INFO L272 TraceCheckUtils]: 22: Hoare triple {1456#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:41:47,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:41:47,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-15 05:41:47,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-15 05:41:47,480 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 05:41:47,480 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:41:47,634 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-15 05:41:48,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-15 05:41:48,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-15 05:41:48,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:41:48,286 INFO L272 TraceCheckUtils]: 22: Hoare triple {1480#(= main_~i~1 |main_#t~mem9|)} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:41:48,287 INFO L290 TraceCheckUtils]: 21: Hoare triple {1484#(= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1480#(= main_~i~1 |main_#t~mem9|)} is VALID [2022-04-15 05:41:48,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} ~i~1 := 0; {1484#(= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:41:48,288 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} #91#return; {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} is VALID [2022-04-15 05:41:48,290 INFO L290 TraceCheckUtils]: 18: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume true; {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-15 05:41:48,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume !(~lh~0 < ~n~0); {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-15 05:41:48,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-15 05:41:50,300 WARN L290 TraceCheckUtils]: 15: Hoare triple {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is UNKNOWN [2022-04-15 05:41:50,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume !(~i~0 < ~n~0); {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-15 05:41:50,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-15 05:41:50,305 INFO L290 TraceCheckUtils]: 12: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-15 05:41:50,306 INFO L272 TraceCheckUtils]: 11: Hoare triple {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} call SelectionSort(); {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-15 05:41:50,306 INFO L290 TraceCheckUtils]: 10: Hoare triple {1521#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 0 main_~i~1))} assume !(~i~1 >= 0); {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} is VALID [2022-04-15 05:41:50,307 INFO L290 TraceCheckUtils]: 9: Hoare triple {1525#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 1 main_~i~1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1521#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 0 main_~i~1))} is VALID [2022-04-15 05:41:50,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1525#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 1 main_~i~1))} is VALID [2022-04-15 05:41:50,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {1365#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L290 TraceCheckUtils]: 6: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {1365#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {1365#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-15 05:41:50,309 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 05:41:50,309 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1365495727] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 05:41:50,310 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:41:50,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [7, 12] total 24 [2022-04-15 05:41:50,310 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:41:50,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [810969935] [2022-04-15 05:41:50,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [810969935] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:50,310 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:50,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 05:41:50,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1791116661] [2022-04-15 05:41:50,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:41:50,311 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-04-15 05:41:50,311 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:41:50,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:52,349 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-15 05:41:52,349 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 05:41:52,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:52,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 05:41:52,351 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=476, Unknown=0, NotChecked=0, Total=552 [2022-04-15 05:41:52,351 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:52,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:52,736 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-15 05:41:52,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 05:41:52,736 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-04-15 05:41:52,736 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:41:52,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:52,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-15 05:41:52,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:52,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-15 05:41:52,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2022-04-15 05:41:54,801 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-15 05:41:54,802 INFO L225 Difference]: With dead ends: 58 [2022-04-15 05:41:54,803 INFO L226 Difference]: Without dead ends: 56 [2022-04-15 05:41:54,803 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 33 SyntacticMatches, 4 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=106, Invalid=650, Unknown=0, NotChecked=0, Total=756 [2022-04-15 05:41:54,803 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 23 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 37 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:41:54,804 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 144 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 74 Invalid, 0 Unknown, 37 Unchecked, 0.1s Time] [2022-04-15 05:41:54,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-15 05:41:54,852 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 46. [2022-04-15 05:41:54,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:41:54,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:54,853 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:54,853 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:54,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:54,855 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-15 05:41:54,855 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-15 05:41:54,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:54,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:54,856 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 56 states. [2022-04-15 05:41:54,856 INFO L87 Difference]: Start difference. First operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 56 states. [2022-04-15 05:41:54,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:54,857 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-15 05:41:54,857 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-15 05:41:54,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:54,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:54,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:41:54,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:41:54,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:54,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2022-04-15 05:41:54,859 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 52 transitions. Word has length 26 [2022-04-15 05:41:54,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:41:54,859 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 52 transitions. [2022-04-15 05:41:54,859 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:54,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 52 transitions. [2022-04-15 05:41:56,956 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:56,956 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-04-15 05:41:56,957 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-15 05:41:56,957 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:41:56,957 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:41:56,980 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 05:41:57,167 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:41:57,167 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:41:57,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:41:57,168 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 1 times [2022-04-15 05:41:57,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:57,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1455615673] [2022-04-15 05:41:57,171 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:41:57,171 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:41:57,171 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:41:57,171 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 2 times [2022-04-15 05:41:57,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:41:57,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1083377117] [2022-04-15 05:41:57,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:41:57,172 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:41:57,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:57,247 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:41:57,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:57,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {1900#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,260 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,263 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:41:57,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:57,291 INFO L290 TraceCheckUtils]: 0: Hoare triple {1901#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,293 INFO L290 TraceCheckUtils]: 3: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,293 INFO L290 TraceCheckUtils]: 4: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,294 INFO L290 TraceCheckUtils]: 6: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1903#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:41:57,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-15 05:41:57,295 INFO L290 TraceCheckUtils]: 9: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-15 05:41:57,295 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 05:41:57,298 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1900#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:41:57,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {1900#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,300 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,300 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {1888#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,301 INFO L290 TraceCheckUtils]: 6: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,302 INFO L290 TraceCheckUtils]: 9: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,302 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,303 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1901#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:41:57,303 INFO L290 TraceCheckUtils]: 12: Hoare triple {1901#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,304 INFO L290 TraceCheckUtils]: 16: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,305 INFO L290 TraceCheckUtils]: 17: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:41:57,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1903#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:41:57,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-15 05:41:57,306 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-15 05:41:57,307 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 05:41:57,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-15 05:41:57,307 INFO L290 TraceCheckUtils]: 24: Hoare triple {1884#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1884#false} is VALID [2022-04-15 05:41:57,307 INFO L272 TraceCheckUtils]: 25: Hoare triple {1884#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1884#false} is VALID [2022-04-15 05:41:57,307 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-15 05:41:57,307 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-15 05:41:57,307 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-15 05:41:57,308 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:41:57,308 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:41:57,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1083377117] [2022-04-15 05:41:57,308 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1083377117] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:41:57,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2069671031] [2022-04-15 05:41:57,308 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:41:57,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:41:57,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:41:57,309 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:41:57,310 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 05:41:57,353 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:41:57,354 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:41:57,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:41:57,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:41:57,364 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:41:57,516 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-15 05:41:57,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {1883#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {1888#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,519 INFO L290 TraceCheckUtils]: 6: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,519 INFO L290 TraceCheckUtils]: 7: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,520 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,521 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 05:41:57,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {1888#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:57,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:57,522 INFO L290 TraceCheckUtils]: 14: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:57,522 INFO L290 TraceCheckUtils]: 15: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:57,523 INFO L290 TraceCheckUtils]: 16: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:57,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:57,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:41:57,526 INFO L290 TraceCheckUtils]: 19: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1966#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:41:57,527 INFO L290 TraceCheckUtils]: 20: Hoare triple {1966#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !(~lh~0 < ~n~0); {1884#false} is VALID [2022-04-15 05:41:57,527 INFO L290 TraceCheckUtils]: 21: Hoare triple {1884#false} assume true; {1884#false} is VALID [2022-04-15 05:41:57,527 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1884#false} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 05:41:57,527 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-15 05:41:57,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {1884#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1884#false} is VALID [2022-04-15 05:41:57,527 INFO L272 TraceCheckUtils]: 25: Hoare triple {1884#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1884#false} is VALID [2022-04-15 05:41:57,527 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-15 05:41:57,527 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-15 05:41:57,528 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-15 05:41:57,528 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:41:57,528 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:41:57,789 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-15 05:41:57,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-15 05:41:57,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-15 05:41:57,790 INFO L272 TraceCheckUtils]: 25: Hoare triple {1884#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1884#false} is VALID [2022-04-15 05:41:57,790 INFO L290 TraceCheckUtils]: 24: Hoare triple {1884#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1884#false} is VALID [2022-04-15 05:41:57,790 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-15 05:41:57,790 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {2012#(< 1 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 05:41:57,791 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-15 05:41:57,791 INFO L290 TraceCheckUtils]: 20: Hoare triple {2022#(or (< SelectionSort_~lh~0 ~n~0) (<= ~n~0 1))} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-15 05:41:57,792 INFO L290 TraceCheckUtils]: 19: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2022#(or (< SelectionSort_~lh~0 ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume !(~i~0 < ~n~0); {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,793 INFO L290 TraceCheckUtils]: 16: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,793 INFO L290 TraceCheckUtils]: 15: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,793 INFO L290 TraceCheckUtils]: 14: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,794 INFO L290 TraceCheckUtils]: 13: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,794 INFO L290 TraceCheckUtils]: 12: Hoare triple {1883#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-15 05:41:57,794 INFO L272 TraceCheckUtils]: 11: Hoare triple {2012#(< 1 ~n~0)} call SelectionSort(); {1883#true} is VALID [2022-04-15 05:41:57,795 INFO L290 TraceCheckUtils]: 10: Hoare triple {2012#(< 1 ~n~0)} assume !(~i~1 >= 0); {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {2012#(< 1 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {2012#(< 1 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {2012#(< 1 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {2012#(< 1 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {2012#(< 1 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {2012#(< 1 ~n~0)} call #t~ret10 := main(); {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2012#(< 1 ~n~0)} {1883#true} #95#return; {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {2012#(< 1 ~n~0)} assume true; {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {1883#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2012#(< 1 ~n~0)} is VALID [2022-04-15 05:41:57,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-15 05:41:57,799 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:41:57,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2069671031] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:41:57,799 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:41:57,799 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 6] total 13 [2022-04-15 05:41:57,799 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:41:57,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1455615673] [2022-04-15 05:41:57,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1455615673] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:41:57,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:41:57,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 05:41:57,800 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1564566362] [2022-04-15 05:41:57,800 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:41:57,800 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-04-15 05:41:57,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:41:57,801 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:57,819 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:57,820 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 05:41:57,820 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:41:57,820 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 05:41:57,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2022-04-15 05:41:57,820 INFO L87 Difference]: Start difference. First operand 46 states and 52 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:58,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:58,237 INFO L93 Difference]: Finished difference Result 86 states and 100 transitions. [2022-04-15 05:41:58,237 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 05:41:58,238 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-04-15 05:41:58,238 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:41:58,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:58,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-15 05:41:58,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:58,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-15 05:41:58,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 64 transitions. [2022-04-15 05:41:58,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:41:58,304 INFO L225 Difference]: With dead ends: 86 [2022-04-15 05:41:58,304 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 05:41:58,304 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-15 05:41:58,305 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 98 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 103 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 103 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:41:58,306 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 27 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 103 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 05:41:58,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 05:41:58,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 56. [2022-04-15 05:41:58,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:41:58,392 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:58,393 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:58,393 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:58,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:58,395 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 05:41:58,395 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 05:41:58,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:58,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:58,396 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 64 states. [2022-04-15 05:41:58,396 INFO L87 Difference]: Start difference. First operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 64 states. [2022-04-15 05:41:58,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:41:58,398 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 05:41:58,398 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 05:41:58,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:41:58,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:41:58,398 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:41:58,398 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:41:58,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 05:41:58,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 65 transitions. [2022-04-15 05:41:58,400 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 65 transitions. Word has length 29 [2022-04-15 05:41:58,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:41:58,400 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 65 transitions. [2022-04-15 05:41:58,401 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:41:58,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 65 transitions. [2022-04-15 05:42:00,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:00,516 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2022-04-15 05:42:00,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 05:42:00,517 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:00,517 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:00,545 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:00,717 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:00,717 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:00,718 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:00,718 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 3 times [2022-04-15 05:42:00,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:00,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [669693739] [2022-04-15 05:42:00,720 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:00,721 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:00,721 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:00,721 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 4 times [2022-04-15 05:42:00,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:00,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [221048951] [2022-04-15 05:42:00,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:00,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:00,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:00,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:00,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:00,783 INFO L290 TraceCheckUtils]: 0: Hoare triple {2530#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,787 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,790 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:00,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:00,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {2531#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2532#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:00,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {2532#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2533#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:00,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,822 INFO L290 TraceCheckUtils]: 3: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,822 INFO L290 TraceCheckUtils]: 4: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,823 INFO L290 TraceCheckUtils]: 5: Hoare triple {2534#(<= ~n~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,823 INFO L290 TraceCheckUtils]: 6: Hoare triple {2534#(<= ~n~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,823 INFO L290 TraceCheckUtils]: 7: Hoare triple {2534#(<= ~n~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,824 INFO L290 TraceCheckUtils]: 8: Hoare triple {2534#(<= ~n~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,824 INFO L290 TraceCheckUtils]: 9: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,824 INFO L290 TraceCheckUtils]: 10: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,824 INFO L290 TraceCheckUtils]: 11: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,825 INFO L290 TraceCheckUtils]: 12: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,825 INFO L290 TraceCheckUtils]: 13: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,825 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-15 05:42:00,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {2509#true} call ULTIMATE.init(); {2530#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:00,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {2530#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {2514#(<= 5 ~n~0)} call #t~ret10 := main(); {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {2514#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,828 INFO L290 TraceCheckUtils]: 6: Hoare triple {2514#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {2514#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {2514#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {2514#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,829 INFO L290 TraceCheckUtils]: 10: Hoare triple {2514#(<= 5 ~n~0)} assume !(~i~1 >= 0); {2514#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:00,830 INFO L272 TraceCheckUtils]: 11: Hoare triple {2514#(<= 5 ~n~0)} call SelectionSort(); {2531#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:00,830 INFO L290 TraceCheckUtils]: 12: Hoare triple {2531#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2532#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:00,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {2532#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2533#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:00,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,831 INFO L290 TraceCheckUtils]: 15: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,832 INFO L290 TraceCheckUtils]: 17: Hoare triple {2534#(<= ~n~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {2534#(<= ~n~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {2534#(<= ~n~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {2534#(<= ~n~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,834 INFO L290 TraceCheckUtils]: 24: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,834 INFO L290 TraceCheckUtils]: 25: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-15 05:42:00,835 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-15 05:42:00,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-15 05:42:00,835 INFO L290 TraceCheckUtils]: 28: Hoare triple {2510#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2510#false} is VALID [2022-04-15 05:42:00,835 INFO L272 TraceCheckUtils]: 29: Hoare triple {2510#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2510#false} is VALID [2022-04-15 05:42:00,835 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-15 05:42:00,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-15 05:42:00,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-15 05:42:00,836 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 05:42:00,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:00,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [221048951] [2022-04-15 05:42:00,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [221048951] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:00,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [748033018] [2022-04-15 05:42:00,836 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:42:00,836 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:00,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:00,841 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:00,842 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 05:42:00,886 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:42:00,887 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:00,887 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:42:00,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:00,897 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:01,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {2509#true} call ULTIMATE.init(); {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {2509#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {2509#true} assume true; {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2509#true} {2509#true} #95#return; {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {2509#true} call #t~ret10 := main(); {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {2509#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L290 TraceCheckUtils]: 6: Hoare triple {2509#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {2509#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2509#true} is VALID [2022-04-15 05:42:01,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {2509#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2509#true} is VALID [2022-04-15 05:42:01,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {2509#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2509#true} is VALID [2022-04-15 05:42:01,013 INFO L290 TraceCheckUtils]: 10: Hoare triple {2509#true} assume !(~i~1 >= 0); {2509#true} is VALID [2022-04-15 05:42:01,013 INFO L272 TraceCheckUtils]: 11: Hoare triple {2509#true} call SelectionSort(); {2509#true} is VALID [2022-04-15 05:42:01,013 INFO L290 TraceCheckUtils]: 12: Hoare triple {2509#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2509#true} is VALID [2022-04-15 05:42:01,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {2509#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2577#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:01,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {2577#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} assume !(~i~0 < ~n~0); {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:01,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 16: Hoare triple {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2588#(<= ~n~0 SelectionSort_~lh~0)} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 17: Hoare triple {2588#(<= ~n~0 SelectionSort_~lh~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2510#false} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {2510#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2510#false} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {2510#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2510#false} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 20: Hoare triple {2510#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2510#false} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 21: Hoare triple {2510#false} assume !(~i~0 < ~n~0); {2510#false} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {2510#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2510#false} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {2510#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2510#false} is VALID [2022-04-15 05:42:01,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {2510#false} assume !(~lh~0 < ~n~0); {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {2510#false} assume true; {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2510#false} {2509#true} #91#return; {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {2510#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L272 TraceCheckUtils]: 29: Hoare triple {2510#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-15 05:42:01,016 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:42:01,016 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 05:42:01,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [748033018] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:01,017 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 05:42:01,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 11 [2022-04-15 05:42:01,017 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:01,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [669693739] [2022-04-15 05:42:01,017 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [669693739] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:01,017 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:01,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 05:42:01,017 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1620291863] [2022-04-15 05:42:01,017 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:01,017 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 33 [2022-04-15 05:42:01,018 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:01,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-15 05:42:01,037 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:01,037 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 05:42:01,038 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:01,038 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 05:42:01,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=90, Unknown=0, NotChecked=0, Total=110 [2022-04-15 05:42:01,038 INFO L87 Difference]: Start difference. First operand 56 states and 65 transitions. Second operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-15 05:42:01,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:01,240 INFO L93 Difference]: Finished difference Result 85 states and 101 transitions. [2022-04-15 05:42:01,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 05:42:01,241 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 33 [2022-04-15 05:42:01,241 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:01,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-15 05:42:01,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-15 05:42:01,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-15 05:42:01,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-15 05:42:01,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-04-15 05:42:01,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:01,287 INFO L225 Difference]: With dead ends: 85 [2022-04-15 05:42:01,287 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 05:42:01,288 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-15 05:42:01,288 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 10 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:01,288 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 92 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 05:42:01,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 05:42:01,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-04-15 05:42:01,349 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:01,349 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:01,349 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:01,349 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:01,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:01,350 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 05:42:01,350 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 05:42:01,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:01,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:01,351 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-15 05:42:01,351 INFO L87 Difference]: Start difference. First operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-15 05:42:01,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:01,352 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 05:42:01,352 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 05:42:01,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:01,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:01,352 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:01,352 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:01,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:01,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-15 05:42:01,353 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 33 [2022-04-15 05:42:01,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:01,354 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-15 05:42:01,354 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-15 05:42:01,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 51 transitions. [2022-04-15 05:42:01,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:01,441 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-15 05:42:01,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 05:42:01,441 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:01,441 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:01,464 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-15 05:42:01,655 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:01,656 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:01,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:01,656 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 5 times [2022-04-15 05:42:01,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:01,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1758415859] [2022-04-15 05:42:01,659 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:01,659 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:01,659 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:01,660 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 6 times [2022-04-15 05:42:01,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:01,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [712643911] [2022-04-15 05:42:01,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:01,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:01,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:01,693 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:01,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:01,700 INFO L290 TraceCheckUtils]: 0: Hoare triple {3019#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,701 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,704 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:01,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:01,739 INFO L290 TraceCheckUtils]: 0: Hoare triple {3020#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,740 INFO L290 TraceCheckUtils]: 3: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,740 INFO L290 TraceCheckUtils]: 4: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,741 INFO L290 TraceCheckUtils]: 6: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3022#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:01,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {3022#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3023#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:01,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,743 INFO L290 TraceCheckUtils]: 10: Hoare triple {3024#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {3024#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,743 INFO L290 TraceCheckUtils]: 12: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,744 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 05:42:01,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {3019#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:01,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {3019#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,746 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,747 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,748 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:01,749 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3020#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:01,749 INFO L290 TraceCheckUtils]: 12: Hoare triple {3020#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,750 INFO L290 TraceCheckUtils]: 15: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,750 INFO L290 TraceCheckUtils]: 16: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:01,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3022#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:01,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {3022#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3023#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:01,752 INFO L290 TraceCheckUtils]: 21: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,753 INFO L290 TraceCheckUtils]: 22: Hoare triple {3024#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,753 INFO L290 TraceCheckUtils]: 23: Hoare triple {3024#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:01,754 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 05:42:01,754 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-15 05:42:01,754 INFO L290 TraceCheckUtils]: 28: Hoare triple {2999#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2999#false} is VALID [2022-04-15 05:42:01,754 INFO L272 TraceCheckUtils]: 29: Hoare triple {2999#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2999#false} is VALID [2022-04-15 05:42:01,755 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-15 05:42:01,755 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-15 05:42:01,755 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-15 05:42:01,755 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:42:01,755 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:01,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [712643911] [2022-04-15 05:42:01,755 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [712643911] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:01,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1489621852] [2022-04-15 05:42:01,756 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:42:01,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:01,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:01,757 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:01,758 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 05:42:01,810 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 05:42:01,810 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:01,811 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 05:42:01,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:01,827 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:02,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-15 05:42:02,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {2998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,002 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,003 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,003 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:02,004 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:02,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:02,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:02,005 INFO L290 TraceCheckUtils]: 15: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:02,005 INFO L290 TraceCheckUtils]: 16: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:02,006 INFO L290 TraceCheckUtils]: 17: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:02,006 INFO L290 TraceCheckUtils]: 18: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:02,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3086#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:02,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {3086#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3090#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 2))} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 21: Hoare triple {3090#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 2))} assume !(~i~0 < ~n~0); {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {2999#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 23: Hoare triple {2999#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 24: Hoare triple {2999#false} assume !(~lh~0 < ~n~0); {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {2999#false} assume true; {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2999#false} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 28: Hoare triple {2999#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L272 TraceCheckUtils]: 29: Hoare triple {2999#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-15 05:42:02,008 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-15 05:42:02,009 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-15 05:42:02,009 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:42:02,009 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:02,378 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-15 05:42:02,378 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-15 05:42:02,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-15 05:42:02,378 INFO L272 TraceCheckUtils]: 29: Hoare triple {2999#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2999#false} is VALID [2022-04-15 05:42:02,378 INFO L290 TraceCheckUtils]: 28: Hoare triple {2999#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2999#false} is VALID [2022-04-15 05:42:02,378 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-15 05:42:02,379 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3145#(< 2 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 05:42:02,379 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:02,379 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:02,380 INFO L290 TraceCheckUtils]: 23: Hoare triple {3024#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:02,380 INFO L290 TraceCheckUtils]: 22: Hoare triple {3024#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:02,380 INFO L290 TraceCheckUtils]: 21: Hoare triple {3164#(or (<= ~n~0 2) (< SelectionSort_~i~0 ~n~0))} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 05:42:02,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {3168#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3164#(or (<= ~n~0 2) (< SelectionSort_~i~0 ~n~0))} is VALID [2022-04-15 05:42:02,382 INFO L290 TraceCheckUtils]: 19: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3168#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:02,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:02,382 INFO L290 TraceCheckUtils]: 17: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !(~i~0 < ~n~0); {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:02,383 INFO L290 TraceCheckUtils]: 16: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:02,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:02,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:02,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:02,384 INFO L290 TraceCheckUtils]: 12: Hoare triple {2998#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:02,384 INFO L272 TraceCheckUtils]: 11: Hoare triple {3145#(< 2 ~n~0)} call SelectionSort(); {2998#true} is VALID [2022-04-15 05:42:02,385 INFO L290 TraceCheckUtils]: 10: Hoare triple {3145#(< 2 ~n~0)} assume !(~i~1 >= 0); {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {3145#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {3145#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {3145#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,386 INFO L290 TraceCheckUtils]: 6: Hoare triple {3145#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {3145#(< 2 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {3145#(< 2 ~n~0)} call #t~ret10 := main(); {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3145#(< 2 ~n~0)} {2998#true} #95#return; {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {3145#(< 2 ~n~0)} assume true; {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {2998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3145#(< 2 ~n~0)} is VALID [2022-04-15 05:42:02,388 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-15 05:42:02,388 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:42:02,388 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1489621852] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:02,388 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:02,388 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-15 05:42:02,388 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:02,389 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1758415859] [2022-04-15 05:42:02,389 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1758415859] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:02,389 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:02,389 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 05:42:02,389 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1050996265] [2022-04-15 05:42:02,389 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:02,389 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 33 [2022-04-15 05:42:02,389 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:02,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:02,419 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:02,419 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 05:42:02,419 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:02,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 05:42:02,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-15 05:42:02,420 INFO L87 Difference]: Start difference. First operand 44 states and 51 transitions. Second operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:02,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:02,952 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2022-04-15 05:42:02,952 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 05:42:02,952 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 33 [2022-04-15 05:42:02,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:02,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:02,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-15 05:42:02,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:02,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-15 05:42:02,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-15 05:42:03,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:03,029 INFO L225 Difference]: With dead ends: 70 [2022-04-15 05:42:03,030 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 05:42:03,030 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=156, Invalid=444, Unknown=0, NotChecked=0, Total=600 [2022-04-15 05:42:03,030 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 124 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 188 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:03,031 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [124 Valid, 29 Invalid, 188 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 158 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:03,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 05:42:03,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 45. [2022-04-15 05:42:03,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:03,108 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:03,109 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:03,109 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:03,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:03,110 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-15 05:42:03,110 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-15 05:42:03,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:03,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:03,110 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 54 states. [2022-04-15 05:42:03,111 INFO L87 Difference]: Start difference. First operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 54 states. [2022-04-15 05:42:03,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:03,112 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-15 05:42:03,112 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-15 05:42:03,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:03,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:03,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:03,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:03,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:03,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2022-04-15 05:42:03,113 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 33 [2022-04-15 05:42:03,113 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:03,113 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2022-04-15 05:42:03,113 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:03,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 52 transitions. [2022-04-15 05:42:03,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:03,176 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-04-15 05:42:03,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-15 05:42:03,177 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:03,177 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:03,199 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-15 05:42:03,377 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:03,378 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:03,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:03,378 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 7 times [2022-04-15 05:42:03,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:03,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [335996060] [2022-04-15 05:42:03,381 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:03,381 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:03,381 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:03,381 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 8 times [2022-04-15 05:42:03,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:03,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657659449] [2022-04-15 05:42:03,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:03,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:03,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:03,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:03,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:03,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {3609#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,441 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:03,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:03,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {3610#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3611#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:03,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {3611#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:03,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:03,480 INFO L290 TraceCheckUtils]: 3: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:03,481 INFO L290 TraceCheckUtils]: 4: Hoare triple {3612#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3613#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:03,481 INFO L290 TraceCheckUtils]: 5: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,481 INFO L290 TraceCheckUtils]: 6: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,482 INFO L290 TraceCheckUtils]: 7: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,482 INFO L290 TraceCheckUtils]: 8: Hoare triple {3614#(<= ~n~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,482 INFO L290 TraceCheckUtils]: 9: Hoare triple {3614#(<= ~n~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,483 INFO L290 TraceCheckUtils]: 10: Hoare triple {3614#(<= ~n~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,483 INFO L290 TraceCheckUtils]: 11: Hoare triple {3614#(<= ~n~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,484 INFO L290 TraceCheckUtils]: 16: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,484 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-15 05:42:03,485 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3609#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:03,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {3609#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {3590#(<= 5 ~n~0)} call #t~ret10 := main(); {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {3590#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {3590#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {3590#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {3590#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {3590#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,488 INFO L290 TraceCheckUtils]: 10: Hoare triple {3590#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3590#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:03,488 INFO L272 TraceCheckUtils]: 11: Hoare triple {3590#(<= 5 ~n~0)} call SelectionSort(); {3610#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:03,488 INFO L290 TraceCheckUtils]: 12: Hoare triple {3610#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3611#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:03,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {3611#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:03,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:03,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:03,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {3612#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3613#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:03,490 INFO L290 TraceCheckUtils]: 17: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {3614#(<= ~n~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,491 INFO L290 TraceCheckUtils]: 21: Hoare triple {3614#(<= ~n~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,491 INFO L290 TraceCheckUtils]: 22: Hoare triple {3614#(<= ~n~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,491 INFO L290 TraceCheckUtils]: 23: Hoare triple {3614#(<= ~n~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,492 INFO L290 TraceCheckUtils]: 26: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,493 INFO L290 TraceCheckUtils]: 28: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-15 05:42:03,493 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-15 05:42:03,493 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-15 05:42:03,493 INFO L290 TraceCheckUtils]: 31: Hoare triple {3586#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3586#false} is VALID [2022-04-15 05:42:03,493 INFO L272 TraceCheckUtils]: 32: Hoare triple {3586#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {3586#false} is VALID [2022-04-15 05:42:03,493 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-15 05:42:03,493 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-15 05:42:03,494 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-15 05:42:03,494 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 05:42:03,494 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:03,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [657659449] [2022-04-15 05:42:03,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [657659449] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:03,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1693190758] [2022-04-15 05:42:03,494 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:42:03,494 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:03,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:03,495 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:03,496 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 05:42:03,544 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:42:03,544 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:03,545 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:42:03,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:03,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:03,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-15 05:42:03,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {3585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3585#true} is VALID [2022-04-15 05:42:03,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-15 05:42:03,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-15 05:42:03,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-15 05:42:03,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {3585#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3633#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:03,704 INFO L290 TraceCheckUtils]: 6: Hoare triple {3633#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3633#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:03,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {3633#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3640#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:03,705 INFO L290 TraceCheckUtils]: 8: Hoare triple {3640#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3640#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:03,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {3640#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3647#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:03,706 INFO L290 TraceCheckUtils]: 10: Hoare triple {3647#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-15 05:42:03,706 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3586#false} is VALID [2022-04-15 05:42:03,706 INFO L290 TraceCheckUtils]: 12: Hoare triple {3586#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3586#false} is VALID [2022-04-15 05:42:03,706 INFO L290 TraceCheckUtils]: 13: Hoare triple {3586#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {3586#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {3586#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 16: Hoare triple {3586#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {3586#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {3586#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {3586#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3586#false} is VALID [2022-04-15 05:42:03,707 INFO L290 TraceCheckUtils]: 21: Hoare triple {3586#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 22: Hoare triple {3586#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 23: Hoare triple {3586#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 25: Hoare triple {3586#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 26: Hoare triple {3586#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 27: Hoare triple {3586#false} assume !(~lh~0 < ~n~0); {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 28: Hoare triple {3586#false} assume true; {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3586#false} {3586#false} #91#return; {3586#false} is VALID [2022-04-15 05:42:03,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-15 05:42:03,709 INFO L290 TraceCheckUtils]: 31: Hoare triple {3586#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3586#false} is VALID [2022-04-15 05:42:03,709 INFO L272 TraceCheckUtils]: 32: Hoare triple {3586#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {3586#false} is VALID [2022-04-15 05:42:03,709 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-15 05:42:03,709 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-15 05:42:03,709 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-15 05:42:03,709 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 05:42:03,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:03,806 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-15 05:42:03,809 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-15 05:42:03,810 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-15 05:42:03,810 INFO L272 TraceCheckUtils]: 32: Hoare triple {3586#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {3586#false} is VALID [2022-04-15 05:42:03,810 INFO L290 TraceCheckUtils]: 31: Hoare triple {3586#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3586#false} is VALID [2022-04-15 05:42:03,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-15 05:42:03,810 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3585#true} {3586#false} #91#return; {3586#false} is VALID [2022-04-15 05:42:03,810 INFO L290 TraceCheckUtils]: 28: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-15 05:42:03,810 INFO L290 TraceCheckUtils]: 27: Hoare triple {3585#true} assume !(~lh~0 < ~n~0); {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 26: Hoare triple {3585#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 25: Hoare triple {3585#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 24: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 23: Hoare triple {3585#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 22: Hoare triple {3585#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 21: Hoare triple {3585#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {3585#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3585#true} is VALID [2022-04-15 05:42:03,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {3585#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L290 TraceCheckUtils]: 18: Hoare triple {3585#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L290 TraceCheckUtils]: 17: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L290 TraceCheckUtils]: 16: Hoare triple {3585#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L290 TraceCheckUtils]: 15: Hoare triple {3585#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L290 TraceCheckUtils]: 14: Hoare triple {3585#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L290 TraceCheckUtils]: 13: Hoare triple {3585#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L290 TraceCheckUtils]: 12: Hoare triple {3585#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3585#true} is VALID [2022-04-15 05:42:03,812 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3585#true} is VALID [2022-04-15 05:42:03,813 INFO L290 TraceCheckUtils]: 10: Hoare triple {3801#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-15 05:42:03,813 INFO L290 TraceCheckUtils]: 9: Hoare triple {3805#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3801#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:03,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {3805#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3805#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:03,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {3647#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3805#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:03,815 INFO L290 TraceCheckUtils]: 6: Hoare triple {3647#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3647#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:03,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {3585#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3647#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:03,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-15 05:42:03,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-15 05:42:03,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-15 05:42:03,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {3585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3585#true} is VALID [2022-04-15 05:42:03,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-15 05:42:03,816 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 05:42:03,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1693190758] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:03,816 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:03,816 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5, 5] total 14 [2022-04-15 05:42:03,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:03,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [335996060] [2022-04-15 05:42:03,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [335996060] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:03,819 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:03,819 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 05:42:03,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [12671256] [2022-04-15 05:42:03,819 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:03,820 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 36 [2022-04-15 05:42:03,820 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:03,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:03,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:03,842 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 05:42:03,842 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:03,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 05:42:03,843 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-15 05:42:03,850 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:04,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:04,340 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-15 05:42:04,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 05:42:04,341 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 36 [2022-04-15 05:42:04,341 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:04,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:04,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-15 05:42:04,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:04,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-15 05:42:04,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2022-04-15 05:42:04,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:04,415 INFO L225 Difference]: With dead ends: 77 [2022-04-15 05:42:04,415 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 05:42:04,416 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=101, Invalid=361, Unknown=0, NotChecked=0, Total=462 [2022-04-15 05:42:04,418 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-15 05:42:04,418 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-15 05:42:04,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 05:42:04,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 48. [2022-04-15 05:42:04,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:04,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:04,485 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:04,485 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:04,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:04,498 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 05:42:04,498 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 05:42:04,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:04,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:04,498 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-15 05:42:04,498 INFO L87 Difference]: Start difference. First operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-15 05:42:04,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:04,499 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 05:42:04,499 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 05:42:04,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:04,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:04,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:04,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:04,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:04,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 56 transitions. [2022-04-15 05:42:04,501 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 56 transitions. Word has length 36 [2022-04-15 05:42:04,501 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:04,501 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 56 transitions. [2022-04-15 05:42:04,501 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:04,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 56 transitions. [2022-04-15 05:42:04,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:04,571 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-04-15 05:42:04,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 05:42:04,572 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:04,572 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:04,595 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:04,787 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:04,788 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:04,788 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:04,788 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 9 times [2022-04-15 05:42:04,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:04,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1606999887] [2022-04-15 05:42:04,790 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:04,791 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:04,791 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:04,791 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 10 times [2022-04-15 05:42:04,791 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:04,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [524408636] [2022-04-15 05:42:04,791 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:04,791 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:04,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:04,838 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:04,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:04,848 INFO L290 TraceCheckUtils]: 0: Hoare triple {4228#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,849 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:04,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:04,904 INFO L290 TraceCheckUtils]: 0: Hoare triple {4229#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4230#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:04,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {4230#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:04,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:04,905 INFO L290 TraceCheckUtils]: 3: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:04,906 INFO L290 TraceCheckUtils]: 4: Hoare triple {4231#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:04,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:04,907 INFO L290 TraceCheckUtils]: 6: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:04,907 INFO L290 TraceCheckUtils]: 7: Hoare triple {4232#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4233#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:04,907 INFO L290 TraceCheckUtils]: 8: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,908 INFO L290 TraceCheckUtils]: 10: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,908 INFO L290 TraceCheckUtils]: 11: Hoare triple {4234#(<= ~n~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,909 INFO L290 TraceCheckUtils]: 12: Hoare triple {4234#(<= ~n~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,909 INFO L290 TraceCheckUtils]: 13: Hoare triple {4234#(<= ~n~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,909 INFO L290 TraceCheckUtils]: 14: Hoare triple {4234#(<= ~n~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,910 INFO L290 TraceCheckUtils]: 15: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,910 INFO L290 TraceCheckUtils]: 16: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,910 INFO L290 TraceCheckUtils]: 17: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,911 INFO L290 TraceCheckUtils]: 19: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,911 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-15 05:42:04,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4228#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:04,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {4228#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,914 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {4206#(<= 5 ~n~0)} call #t~ret10 := main(); {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,915 INFO L290 TraceCheckUtils]: 5: Hoare triple {4206#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,915 INFO L290 TraceCheckUtils]: 6: Hoare triple {4206#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {4206#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {4206#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {4206#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,917 INFO L290 TraceCheckUtils]: 10: Hoare triple {4206#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4206#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:04,917 INFO L272 TraceCheckUtils]: 11: Hoare triple {4206#(<= 5 ~n~0)} call SelectionSort(); {4229#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:04,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {4229#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4230#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:04,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {4230#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:04,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:04,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:04,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {4231#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:04,919 INFO L290 TraceCheckUtils]: 17: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:04,920 INFO L290 TraceCheckUtils]: 18: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:04,920 INFO L290 TraceCheckUtils]: 19: Hoare triple {4232#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4233#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:04,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,921 INFO L290 TraceCheckUtils]: 21: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,921 INFO L290 TraceCheckUtils]: 22: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,922 INFO L290 TraceCheckUtils]: 23: Hoare triple {4234#(<= ~n~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,922 INFO L290 TraceCheckUtils]: 24: Hoare triple {4234#(<= ~n~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,922 INFO L290 TraceCheckUtils]: 25: Hoare triple {4234#(<= ~n~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,923 INFO L290 TraceCheckUtils]: 26: Hoare triple {4234#(<= ~n~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,923 INFO L290 TraceCheckUtils]: 27: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,923 INFO L290 TraceCheckUtils]: 29: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,924 INFO L290 TraceCheckUtils]: 30: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,924 INFO L290 TraceCheckUtils]: 31: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-15 05:42:04,925 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-15 05:42:04,925 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-15 05:42:04,925 INFO L290 TraceCheckUtils]: 34: Hoare triple {4202#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4202#false} is VALID [2022-04-15 05:42:04,925 INFO L272 TraceCheckUtils]: 35: Hoare triple {4202#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4202#false} is VALID [2022-04-15 05:42:04,925 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-15 05:42:04,925 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-15 05:42:04,925 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-15 05:42:04,926 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 05:42:04,926 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:04,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [524408636] [2022-04-15 05:42:04,926 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [524408636] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:04,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1363000297] [2022-04-15 05:42:04,926 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:42:04,926 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:04,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:04,940 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:04,941 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 05:42:04,997 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:42:04,997 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:04,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 05:42:05,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:05,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:05,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-15 05:42:05,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {4201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4201#true} is VALID [2022-04-15 05:42:05,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-15 05:42:05,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-15 05:42:05,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-15 05:42:05,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {4201#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4201#true} is VALID [2022-04-15 05:42:05,167 INFO L290 TraceCheckUtils]: 6: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-15 05:42:05,167 INFO L290 TraceCheckUtils]: 7: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-15 05:42:05,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-15 05:42:05,167 INFO L290 TraceCheckUtils]: 9: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-15 05:42:05,167 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-15 05:42:05,167 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-15 05:42:05,167 INFO L290 TraceCheckUtils]: 12: Hoare triple {4201#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4201#true} is VALID [2022-04-15 05:42:05,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {4201#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,168 INFO L290 TraceCheckUtils]: 15: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,170 INFO L290 TraceCheckUtils]: 18: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,170 INFO L290 TraceCheckUtils]: 19: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,171 INFO L290 TraceCheckUtils]: 21: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,171 INFO L290 TraceCheckUtils]: 22: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,172 INFO L290 TraceCheckUtils]: 23: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,172 INFO L290 TraceCheckUtils]: 24: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,173 INFO L290 TraceCheckUtils]: 26: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,173 INFO L290 TraceCheckUtils]: 27: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,173 INFO L290 TraceCheckUtils]: 28: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,174 INFO L290 TraceCheckUtils]: 29: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4329#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-15 05:42:05,174 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-15 05:42:05,174 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-15 05:42:05,174 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-15 05:42:05,174 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-15 05:42:05,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {4202#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4202#false} is VALID [2022-04-15 05:42:05,175 INFO L272 TraceCheckUtils]: 35: Hoare triple {4202#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4202#false} is VALID [2022-04-15 05:42:05,175 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-15 05:42:05,175 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-15 05:42:05,175 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-15 05:42:05,195 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:42:05,195 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:05,333 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-15 05:42:05,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-15 05:42:05,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-15 05:42:05,334 INFO L272 TraceCheckUtils]: 35: Hoare triple {4202#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4202#false} is VALID [2022-04-15 05:42:05,334 INFO L290 TraceCheckUtils]: 34: Hoare triple {4202#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4202#false} is VALID [2022-04-15 05:42:05,334 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-15 05:42:05,334 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-15 05:42:05,334 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-15 05:42:05,334 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-15 05:42:05,343 INFO L290 TraceCheckUtils]: 29: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4329#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-15 05:42:05,344 INFO L290 TraceCheckUtils]: 28: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,344 INFO L290 TraceCheckUtils]: 26: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,344 INFO L290 TraceCheckUtils]: 25: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,345 INFO L290 TraceCheckUtils]: 24: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:05,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,347 INFO L290 TraceCheckUtils]: 17: Hoare triple {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:05,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {4201#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 12: Hoare triple {4201#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 6: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L290 TraceCheckUtils]: 5: Hoare triple {4201#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4201#true} is VALID [2022-04-15 05:42:05,349 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-15 05:42:05,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-15 05:42:05,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-15 05:42:05,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {4201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4201#true} is VALID [2022-04-15 05:42:05,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-15 05:42:05,350 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 05:42:05,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1363000297] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:05,350 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:05,350 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 15 [2022-04-15 05:42:05,350 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:05,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1606999887] [2022-04-15 05:42:05,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1606999887] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:05,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:05,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 05:42:05,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1683604575] [2022-04-15 05:42:05,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:05,351 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 39 [2022-04-15 05:42:05,351 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:05,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:05,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:05,376 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 05:42:05,376 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:05,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 05:42:05,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=176, Unknown=0, NotChecked=0, Total=210 [2022-04-15 05:42:05,377 INFO L87 Difference]: Start difference. First operand 48 states and 56 transitions. Second operand has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:05,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:05,971 INFO L93 Difference]: Finished difference Result 80 states and 95 transitions. [2022-04-15 05:42:05,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 05:42:05,972 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 39 [2022-04-15 05:42:05,972 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:05,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:05,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-15 05:42:05,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:05,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-15 05:42:05,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 77 transitions. [2022-04-15 05:42:06,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:06,041 INFO L225 Difference]: With dead ends: 80 [2022-04-15 05:42:06,041 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 05:42:06,042 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=131, Invalid=421, Unknown=0, NotChecked=0, Total=552 [2022-04-15 05:42:06,042 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 122 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 163 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 163 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:06,042 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 29 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 163 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:06,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 05:42:06,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2022-04-15 05:42:06,122 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:06,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:06,123 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:06,123 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:06,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:06,124 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-15 05:42:06,124 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-15 05:42:06,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:06,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:06,125 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 53 states. [2022-04-15 05:42:06,125 INFO L87 Difference]: Start difference. First operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 53 states. [2022-04-15 05:42:06,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:06,126 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-15 05:42:06,126 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-15 05:42:06,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:06,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:06,126 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:06,126 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:06,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:06,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 60 transitions. [2022-04-15 05:42:06,127 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 60 transitions. Word has length 39 [2022-04-15 05:42:06,127 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:06,127 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 60 transitions. [2022-04-15 05:42:06,127 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:06,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 60 transitions. [2022-04-15 05:42:06,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:06,195 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 60 transitions. [2022-04-15 05:42:06,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 05:42:06,195 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:06,195 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:06,225 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:06,415 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 05:42:06,415 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:06,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:06,416 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 11 times [2022-04-15 05:42:06,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:06,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1690088588] [2022-04-15 05:42:06,418 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:06,418 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:06,418 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:06,418 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 12 times [2022-04-15 05:42:06,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:06,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [949366806] [2022-04-15 05:42:06,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:06,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:06,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:06,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:06,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:06,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {4889#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,457 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:06,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:06,512 INFO L290 TraceCheckUtils]: 0: Hoare triple {4890#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4891#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:06,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {4891#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:06,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:06,513 INFO L290 TraceCheckUtils]: 3: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:06,513 INFO L290 TraceCheckUtils]: 4: Hoare triple {4892#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:06,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:06,514 INFO L290 TraceCheckUtils]: 6: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:06,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {4893#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:06,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:06,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:06,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {4894#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4895#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:06,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,516 INFO L290 TraceCheckUtils]: 12: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,516 INFO L290 TraceCheckUtils]: 13: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {4896#(<= ~n~0 4)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {4896#(<= ~n~0 4)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {4896#(<= ~n~0 4)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {4896#(<= ~n~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,518 INFO L290 TraceCheckUtils]: 19: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,518 INFO L290 TraceCheckUtils]: 20: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,519 INFO L290 TraceCheckUtils]: 21: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,519 INFO L290 TraceCheckUtils]: 22: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,520 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 05:42:06,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4889#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:06,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {4889#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {4864#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,523 INFO L290 TraceCheckUtils]: 6: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,523 INFO L290 TraceCheckUtils]: 7: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,524 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,524 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4890#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:06,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {4890#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4891#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:06,525 INFO L290 TraceCheckUtils]: 13: Hoare triple {4891#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:06,525 INFO L290 TraceCheckUtils]: 14: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:06,525 INFO L290 TraceCheckUtils]: 15: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-15 05:42:06,526 INFO L290 TraceCheckUtils]: 16: Hoare triple {4892#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:06,526 INFO L290 TraceCheckUtils]: 17: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:06,526 INFO L290 TraceCheckUtils]: 18: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:06,527 INFO L290 TraceCheckUtils]: 19: Hoare triple {4893#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:06,527 INFO L290 TraceCheckUtils]: 20: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:06,527 INFO L290 TraceCheckUtils]: 21: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:06,527 INFO L290 TraceCheckUtils]: 22: Hoare triple {4894#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4895#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:06,528 INFO L290 TraceCheckUtils]: 23: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,528 INFO L290 TraceCheckUtils]: 24: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,528 INFO L290 TraceCheckUtils]: 25: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,529 INFO L290 TraceCheckUtils]: 26: Hoare triple {4896#(<= ~n~0 4)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,529 INFO L290 TraceCheckUtils]: 27: Hoare triple {4896#(<= ~n~0 4)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,529 INFO L290 TraceCheckUtils]: 28: Hoare triple {4896#(<= ~n~0 4)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,529 INFO L290 TraceCheckUtils]: 29: Hoare triple {4896#(<= ~n~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,530 INFO L290 TraceCheckUtils]: 30: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,530 INFO L290 TraceCheckUtils]: 31: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,530 INFO L290 TraceCheckUtils]: 32: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,530 INFO L290 TraceCheckUtils]: 33: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,531 INFO L290 TraceCheckUtils]: 34: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-15 05:42:06,531 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 05:42:06,531 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-15 05:42:06,531 INFO L290 TraceCheckUtils]: 37: Hoare triple {4860#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4860#false} is VALID [2022-04-15 05:42:06,531 INFO L272 TraceCheckUtils]: 38: Hoare triple {4860#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4860#false} is VALID [2022-04-15 05:42:06,531 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-15 05:42:06,531 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-15 05:42:06,532 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-15 05:42:06,532 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 28 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 05:42:06,532 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:06,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [949366806] [2022-04-15 05:42:06,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [949366806] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:06,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [382397925] [2022-04-15 05:42:06,532 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:42:06,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:06,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:06,533 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:06,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 05:42:06,584 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 05:42:06,584 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:06,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 05:42:06,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:06,596 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:06,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-15 05:42:06,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {4859#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {4864#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,879 INFO L290 TraceCheckUtils]: 6: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,880 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:06,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {4864#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,881 INFO L290 TraceCheckUtils]: 14: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,885 INFO L290 TraceCheckUtils]: 23: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:06,885 INFO L290 TraceCheckUtils]: 25: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:06,886 INFO L290 TraceCheckUtils]: 26: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:06,886 INFO L290 TraceCheckUtils]: 27: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:06,887 INFO L290 TraceCheckUtils]: 28: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:06,887 INFO L290 TraceCheckUtils]: 29: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:06,887 INFO L290 TraceCheckUtils]: 30: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !(~i~0 < ~n~0); {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:06,888 INFO L290 TraceCheckUtils]: 31: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:06,888 INFO L290 TraceCheckUtils]: 32: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4998#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:42:06,888 INFO L290 TraceCheckUtils]: 33: Hoare triple {4998#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} assume !(~lh~0 < ~n~0); {4860#false} is VALID [2022-04-15 05:42:06,888 INFO L290 TraceCheckUtils]: 34: Hoare triple {4860#false} assume true; {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4860#false} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L290 TraceCheckUtils]: 37: Hoare triple {4860#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L272 TraceCheckUtils]: 38: Hoare triple {4860#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-15 05:42:06,889 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 19 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 05:42:06,889 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:07,283 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-15 05:42:07,283 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-15 05:42:07,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-15 05:42:07,284 INFO L272 TraceCheckUtils]: 38: Hoare triple {4860#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4860#false} is VALID [2022-04-15 05:42:07,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {4860#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4860#false} is VALID [2022-04-15 05:42:07,284 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-15 05:42:07,284 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5048#(not (< 2 ~n~0))} {5044#(< 2 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 05:42:07,284 INFO L290 TraceCheckUtils]: 34: Hoare triple {5048#(not (< 2 ~n~0))} assume true; {5048#(not (< 2 ~n~0))} is VALID [2022-04-15 05:42:07,285 INFO L290 TraceCheckUtils]: 33: Hoare triple {5055#(or (not (< 2 ~n~0)) (< SelectionSort_~lh~0 ~n~0))} assume !(~lh~0 < ~n~0); {5048#(not (< 2 ~n~0))} is VALID [2022-04-15 05:42:07,285 INFO L290 TraceCheckUtils]: 32: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5055#(or (not (< 2 ~n~0)) (< SelectionSort_~lh~0 ~n~0))} is VALID [2022-04-15 05:42:07,286 INFO L290 TraceCheckUtils]: 31: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-15 05:42:07,286 INFO L290 TraceCheckUtils]: 30: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume !(~i~0 < ~n~0); {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-15 05:42:07,286 INFO L290 TraceCheckUtils]: 29: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-15 05:42:07,286 INFO L290 TraceCheckUtils]: 28: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-15 05:42:07,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-15 05:42:07,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-15 05:42:07,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-15 05:42:07,288 INFO L290 TraceCheckUtils]: 24: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,288 INFO L290 TraceCheckUtils]: 23: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !(~i~0 < ~n~0); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,288 INFO L290 TraceCheckUtils]: 22: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,289 INFO L290 TraceCheckUtils]: 21: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,289 INFO L290 TraceCheckUtils]: 20: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,289 INFO L290 TraceCheckUtils]: 19: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,289 INFO L290 TraceCheckUtils]: 18: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,290 INFO L290 TraceCheckUtils]: 15: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,290 INFO L290 TraceCheckUtils]: 14: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,291 INFO L290 TraceCheckUtils]: 12: Hoare triple {4859#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:07,291 INFO L272 TraceCheckUtils]: 11: Hoare triple {5044#(< 2 ~n~0)} call SelectionSort(); {4859#true} is VALID [2022-04-15 05:42:07,291 INFO L290 TraceCheckUtils]: 10: Hoare triple {5044#(< 2 ~n~0)} assume !(~i~1 >= 0); {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {5044#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {5044#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {5044#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {5044#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {5044#(< 2 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {5044#(< 2 ~n~0)} call #t~ret10 := main(); {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5044#(< 2 ~n~0)} {4859#true} #95#return; {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {5044#(< 2 ~n~0)} assume true; {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {4859#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5044#(< 2 ~n~0)} is VALID [2022-04-15 05:42:07,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-15 05:42:07,295 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 19 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 05:42:07,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [382397925] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:07,295 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:07,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6, 7] total 19 [2022-04-15 05:42:07,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:07,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1690088588] [2022-04-15 05:42:07,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1690088588] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:07,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:07,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 05:42:07,295 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [202838703] [2022-04-15 05:42:07,295 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:07,296 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 42 [2022-04-15 05:42:07,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:07,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:07,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:07,324 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 05:42:07,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:07,324 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 05:42:07,324 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2022-04-15 05:42:07,324 INFO L87 Difference]: Start difference. First operand 51 states and 60 transitions. Second operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:07,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:07,911 INFO L93 Difference]: Finished difference Result 83 states and 99 transitions. [2022-04-15 05:42:07,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 05:42:07,912 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 42 [2022-04-15 05:42:07,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:07,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:07,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-15 05:42:07,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:07,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-15 05:42:07,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2022-04-15 05:42:07,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:07,989 INFO L225 Difference]: With dead ends: 83 [2022-04-15 05:42:07,989 INFO L226 Difference]: Without dead ends: 56 [2022-04-15 05:42:07,990 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-15 05:42:07,990 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 138 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 138 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 205 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:07,991 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [138 Valid, 29 Invalid, 205 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:07,991 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-15 05:42:08,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-04-15 05:42:08,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:08,081 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:08,081 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:08,081 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:08,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:08,082 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-15 05:42:08,082 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-15 05:42:08,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:08,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:08,082 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 56 states. [2022-04-15 05:42:08,083 INFO L87 Difference]: Start difference. First operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 56 states. [2022-04-15 05:42:08,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:08,083 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-15 05:42:08,084 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-15 05:42:08,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:08,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:08,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:08,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:08,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:08,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-15 05:42:08,085 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 42 [2022-04-15 05:42:08,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:08,085 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-15 05:42:08,085 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:08,085 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 64 transitions. [2022-04-15 05:42:08,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:08,173 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-15 05:42:08,174 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 05:42:08,174 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:08,174 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:08,198 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:08,382 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:08,383 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:08,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:08,383 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 13 times [2022-04-15 05:42:08,383 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:08,383 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1354383218] [2022-04-15 05:42:08,386 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:08,386 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:08,386 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:08,386 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 14 times [2022-04-15 05:42:08,386 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:08,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1750692316] [2022-04-15 05:42:08,386 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:08,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:08,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:08,439 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:08,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:08,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {5595#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,447 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:08,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:08,517 INFO L290 TraceCheckUtils]: 0: Hoare triple {5596#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,518 INFO L290 TraceCheckUtils]: 3: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,518 INFO L290 TraceCheckUtils]: 4: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,520 INFO L290 TraceCheckUtils]: 6: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,521 INFO L290 TraceCheckUtils]: 10: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,522 INFO L290 TraceCheckUtils]: 11: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,522 INFO L290 TraceCheckUtils]: 12: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,522 INFO L290 TraceCheckUtils]: 13: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,524 INFO L290 TraceCheckUtils]: 14: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5598#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:08,525 INFO L290 TraceCheckUtils]: 17: Hoare triple {5598#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:08,528 INFO L290 TraceCheckUtils]: 18: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:08,529 INFO L290 TraceCheckUtils]: 19: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:08,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {5599#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5600#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:08,530 INFO L290 TraceCheckUtils]: 21: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,530 INFO L290 TraceCheckUtils]: 22: Hoare triple {5601#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,530 INFO L290 TraceCheckUtils]: 23: Hoare triple {5601#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,531 INFO L290 TraceCheckUtils]: 24: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,531 INFO L290 TraceCheckUtils]: 25: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,531 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-15 05:42:08,532 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5595#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:08,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {5595#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#(<= 5 ~n~0)} call #t~ret10 := main(); {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {5567#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,534 INFO L290 TraceCheckUtils]: 6: Hoare triple {5567#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {5567#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {5567#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {5567#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,539 INFO L290 TraceCheckUtils]: 10: Hoare triple {5567#(<= 5 ~n~0)} assume !(~i~1 >= 0); {5567#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:08,540 INFO L272 TraceCheckUtils]: 11: Hoare triple {5567#(<= 5 ~n~0)} call SelectionSort(); {5596#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:08,540 INFO L290 TraceCheckUtils]: 12: Hoare triple {5596#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,541 INFO L290 TraceCheckUtils]: 14: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,541 INFO L290 TraceCheckUtils]: 15: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,541 INFO L290 TraceCheckUtils]: 16: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,543 INFO L290 TraceCheckUtils]: 23: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,544 INFO L290 TraceCheckUtils]: 26: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,545 INFO L290 TraceCheckUtils]: 27: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:08,545 INFO L290 TraceCheckUtils]: 28: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5598#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:08,546 INFO L290 TraceCheckUtils]: 29: Hoare triple {5598#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:08,546 INFO L290 TraceCheckUtils]: 30: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:08,546 INFO L290 TraceCheckUtils]: 31: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:08,547 INFO L290 TraceCheckUtils]: 32: Hoare triple {5599#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5600#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:08,547 INFO L290 TraceCheckUtils]: 33: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,547 INFO L290 TraceCheckUtils]: 34: Hoare triple {5601#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {5601#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,548 INFO L290 TraceCheckUtils]: 36: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,548 INFO L290 TraceCheckUtils]: 37: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-15 05:42:08,549 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-15 05:42:08,549 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-15 05:42:08,549 INFO L290 TraceCheckUtils]: 40: Hoare triple {5563#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5563#false} is VALID [2022-04-15 05:42:08,549 INFO L272 TraceCheckUtils]: 41: Hoare triple {5563#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {5563#false} is VALID [2022-04-15 05:42:08,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-15 05:42:08,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-15 05:42:08,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-15 05:42:08,550 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-15 05:42:08,550 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:08,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1750692316] [2022-04-15 05:42:08,550 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1750692316] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:08,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [864320098] [2022-04-15 05:42:08,550 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:42:08,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:08,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:08,551 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:08,553 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 05:42:08,616 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:42:08,616 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:08,617 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:42:08,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:08,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:08,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-15 05:42:08,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {5562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5562#true} is VALID [2022-04-15 05:42:08,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 05:42:08,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-15 05:42:08,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-15 05:42:08,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {5562#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5620#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:08,738 INFO L290 TraceCheckUtils]: 6: Hoare triple {5620#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5620#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:08,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {5620#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5627#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:08,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {5627#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5627#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:08,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {5627#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5634#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 10: Hoare triple {5634#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 12: Hoare triple {5563#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {5563#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 15: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-15 05:42:08,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 20: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 21: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 22: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 23: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {5563#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 28: Hoare triple {5563#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 29: Hoare triple {5563#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 31: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 32: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-15 05:42:08,741 INFO L290 TraceCheckUtils]: 33: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 34: Hoare triple {5563#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 35: Hoare triple {5563#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 36: Hoare triple {5563#false} assume !(~lh~0 < ~n~0); {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 37: Hoare triple {5563#false} assume true; {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5563#false} {5563#false} #91#return; {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 40: Hoare triple {5563#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L272 TraceCheckUtils]: 41: Hoare triple {5563#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-15 05:42:08,742 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 05:42:08,743 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:08,856 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-15 05:42:08,856 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-15 05:42:08,856 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-15 05:42:08,856 INFO L272 TraceCheckUtils]: 41: Hoare triple {5563#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {5563#false} is VALID [2022-04-15 05:42:08,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {5563#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5563#false} is VALID [2022-04-15 05:42:08,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-15 05:42:08,857 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5562#true} {5563#false} #91#return; {5563#false} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 37: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 36: Hoare triple {5562#true} assume !(~lh~0 < ~n~0); {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {5562#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 34: Hoare triple {5562#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 33: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 32: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {5562#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 28: Hoare triple {5562#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 27: Hoare triple {5562#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-15 05:42:08,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 24: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 23: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 22: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 20: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 18: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 17: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 16: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 15: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 14: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {5562#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L290 TraceCheckUtils]: 12: Hoare triple {5562#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5562#true} is VALID [2022-04-15 05:42:08,858 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5562#true} is VALID [2022-04-15 05:42:08,862 INFO L290 TraceCheckUtils]: 10: Hoare triple {5842#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-15 05:42:08,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {5846#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5842#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:08,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {5846#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5846#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:08,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {5634#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5846#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:08,864 INFO L290 TraceCheckUtils]: 6: Hoare triple {5634#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5634#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:08,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {5562#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5634#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:08,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-15 05:42:08,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-15 05:42:08,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 05:42:08,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {5562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5562#true} is VALID [2022-04-15 05:42:08,864 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-15 05:42:08,865 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 05:42:08,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [864320098] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:08,865 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:08,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-15 05:42:08,865 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:08,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1354383218] [2022-04-15 05:42:08,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1354383218] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:08,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:08,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 05:42:08,865 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1147641746] [2022-04-15 05:42:08,865 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:08,866 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 45 [2022-04-15 05:42:08,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:08,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:08,887 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:08,887 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 05:42:08,888 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:08,888 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 05:42:08,888 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-15 05:42:08,888 INFO L87 Difference]: Start difference. First operand 54 states and 64 transitions. Second operand has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:09,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:09,538 INFO L93 Difference]: Finished difference Result 87 states and 106 transitions. [2022-04-15 05:42:09,538 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 05:42:09,538 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 45 [2022-04-15 05:42:09,538 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:09,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:09,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-15 05:42:09,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:09,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-15 05:42:09,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 89 transitions. [2022-04-15 05:42:09,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:09,608 INFO L225 Difference]: With dead ends: 87 [2022-04-15 05:42:09,608 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 05:42:09,609 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-15 05:42:09,609 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 154 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 154 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 206 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:09,609 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [154 Valid, 29 Invalid, 206 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:09,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 05:42:09,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-04-15 05:42:09,687 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:09,688 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:09,688 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:09,688 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:09,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:09,689 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-15 05:42:09,689 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-15 05:42:09,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:09,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:09,689 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 64 states. [2022-04-15 05:42:09,689 INFO L87 Difference]: Start difference. First operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 64 states. [2022-04-15 05:42:09,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:09,690 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-15 05:42:09,690 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-15 05:42:09,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:09,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:09,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:09,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:09,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:09,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 68 transitions. [2022-04-15 05:42:09,692 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 68 transitions. Word has length 45 [2022-04-15 05:42:09,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:09,692 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 68 transitions. [2022-04-15 05:42:09,692 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:09,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 68 transitions. [2022-04-15 05:42:09,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:09,773 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 68 transitions. [2022-04-15 05:42:09,773 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 05:42:09,773 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:09,773 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:09,789 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-15 05:42:09,974 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 05:42:09,974 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:09,974 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:09,974 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 15 times [2022-04-15 05:42:09,974 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:09,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [653468780] [2022-04-15 05:42:09,977 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:09,977 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:09,977 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:09,977 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 16 times [2022-04-15 05:42:09,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:09,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1817966561] [2022-04-15 05:42:09,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:09,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:09,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:10,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:10,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:10,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {6350#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,017 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:10,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:10,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {6351#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,070 INFO L290 TraceCheckUtils]: 3: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,070 INFO L290 TraceCheckUtils]: 4: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,070 INFO L290 TraceCheckUtils]: 6: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,071 INFO L290 TraceCheckUtils]: 7: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,071 INFO L290 TraceCheckUtils]: 8: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,071 INFO L290 TraceCheckUtils]: 9: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,071 INFO L290 TraceCheckUtils]: 10: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,072 INFO L290 TraceCheckUtils]: 12: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,072 INFO L290 TraceCheckUtils]: 14: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,073 INFO L290 TraceCheckUtils]: 16: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6353#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:10,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {6353#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:10,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:10,074 INFO L290 TraceCheckUtils]: 19: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:10,074 INFO L290 TraceCheckUtils]: 20: Hoare triple {6354#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:10,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:10,075 INFO L290 TraceCheckUtils]: 22: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:10,075 INFO L290 TraceCheckUtils]: 23: Hoare triple {6355#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6356#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:10,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {6357#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,076 INFO L290 TraceCheckUtils]: 26: Hoare triple {6357#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,076 INFO L290 TraceCheckUtils]: 27: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,077 INFO L290 TraceCheckUtils]: 28: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,077 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-15 05:42:10,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6350#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:10,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {6350#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#(<= 5 ~n~0)} call #t~ret10 := main(); {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {6319#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,080 INFO L290 TraceCheckUtils]: 6: Hoare triple {6319#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {6319#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {6319#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {6319#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,081 INFO L290 TraceCheckUtils]: 10: Hoare triple {6319#(<= 5 ~n~0)} assume !(~i~1 >= 0); {6319#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:10,081 INFO L272 TraceCheckUtils]: 11: Hoare triple {6319#(<= 5 ~n~0)} call SelectionSort(); {6351#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:10,081 INFO L290 TraceCheckUtils]: 12: Hoare triple {6351#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,082 INFO L290 TraceCheckUtils]: 16: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,082 INFO L290 TraceCheckUtils]: 17: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,083 INFO L290 TraceCheckUtils]: 21: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,084 INFO L290 TraceCheckUtils]: 22: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,084 INFO L290 TraceCheckUtils]: 24: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,084 INFO L290 TraceCheckUtils]: 25: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,085 INFO L290 TraceCheckUtils]: 26: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,085 INFO L290 TraceCheckUtils]: 27: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:10,085 INFO L290 TraceCheckUtils]: 28: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6353#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:10,086 INFO L290 TraceCheckUtils]: 29: Hoare triple {6353#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:10,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:10,086 INFO L290 TraceCheckUtils]: 31: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-15 05:42:10,087 INFO L290 TraceCheckUtils]: 32: Hoare triple {6354#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:10,087 INFO L290 TraceCheckUtils]: 33: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:10,087 INFO L290 TraceCheckUtils]: 34: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:10,088 INFO L290 TraceCheckUtils]: 35: Hoare triple {6355#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6356#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:10,088 INFO L290 TraceCheckUtils]: 36: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,088 INFO L290 TraceCheckUtils]: 37: Hoare triple {6357#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,088 INFO L290 TraceCheckUtils]: 38: Hoare triple {6357#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,089 INFO L290 TraceCheckUtils]: 39: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,089 INFO L290 TraceCheckUtils]: 40: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-15 05:42:10,089 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-15 05:42:10,089 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-15 05:42:10,089 INFO L290 TraceCheckUtils]: 43: Hoare triple {6315#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6315#false} is VALID [2022-04-15 05:42:10,090 INFO L272 TraceCheckUtils]: 44: Hoare triple {6315#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {6315#false} is VALID [2022-04-15 05:42:10,090 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-15 05:42:10,090 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-15 05:42:10,090 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-15 05:42:10,090 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 0 proven. 41 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-15 05:42:10,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:10,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1817966561] [2022-04-15 05:42:10,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1817966561] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:10,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1070006129] [2022-04-15 05:42:10,090 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:42:10,091 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:10,091 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:10,091 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:10,092 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 05:42:10,145 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:42:10,146 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:10,146 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 05:42:10,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:10,163 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:10,437 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-15 05:42:10,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {6314#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6314#true} is VALID [2022-04-15 05:42:10,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-15 05:42:10,437 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-15 05:42:10,437 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-15 05:42:10,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {6314#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {6314#true} is VALID [2022-04-15 05:42:10,438 INFO L290 TraceCheckUtils]: 6: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-15 05:42:10,438 INFO L290 TraceCheckUtils]: 7: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-15 05:42:10,438 INFO L290 TraceCheckUtils]: 8: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-15 05:42:10,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-15 05:42:10,438 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-15 05:42:10,438 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-15 05:42:10,438 INFO L290 TraceCheckUtils]: 12: Hoare triple {6314#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6314#true} is VALID [2022-04-15 05:42:10,440 INFO L290 TraceCheckUtils]: 13: Hoare triple {6314#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,441 INFO L290 TraceCheckUtils]: 16: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,441 INFO L290 TraceCheckUtils]: 17: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,441 INFO L290 TraceCheckUtils]: 18: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,442 INFO L290 TraceCheckUtils]: 19: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,442 INFO L290 TraceCheckUtils]: 20: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,442 INFO L290 TraceCheckUtils]: 21: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,443 INFO L290 TraceCheckUtils]: 22: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,443 INFO L290 TraceCheckUtils]: 24: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,444 INFO L290 TraceCheckUtils]: 25: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,444 INFO L290 TraceCheckUtils]: 26: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,444 INFO L290 TraceCheckUtils]: 27: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,445 INFO L290 TraceCheckUtils]: 28: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:10,445 INFO L290 TraceCheckUtils]: 29: Hoare triple {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:42:10,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:42:10,446 INFO L290 TraceCheckUtils]: 31: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:42:10,446 INFO L290 TraceCheckUtils]: 32: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:10,446 INFO L290 TraceCheckUtils]: 33: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:10,447 INFO L290 TraceCheckUtils]: 34: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:10,447 INFO L290 TraceCheckUtils]: 35: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6474#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 37: Hoare triple {6315#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 38: Hoare triple {6315#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 43: Hoare triple {6315#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L272 TraceCheckUtils]: 44: Hoare triple {6315#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-15 05:42:10,448 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-15 05:42:10,449 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 17 proven. 46 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 05:42:10,449 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:10,644 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-15 05:42:10,644 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-15 05:42:10,644 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-15 05:42:10,644 INFO L272 TraceCheckUtils]: 44: Hoare triple {6315#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {6315#false} is VALID [2022-04-15 05:42:10,644 INFO L290 TraceCheckUtils]: 43: Hoare triple {6315#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6315#false} is VALID [2022-04-15 05:42:10,644 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-15 05:42:10,644 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-15 05:42:10,644 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-15 05:42:10,645 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-15 05:42:10,645 INFO L290 TraceCheckUtils]: 38: Hoare triple {6315#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6315#false} is VALID [2022-04-15 05:42:10,645 INFO L290 TraceCheckUtils]: 37: Hoare triple {6315#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6315#false} is VALID [2022-04-15 05:42:10,645 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-15 05:42:10,645 INFO L290 TraceCheckUtils]: 35: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6474#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-15 05:42:10,646 INFO L290 TraceCheckUtils]: 34: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:10,646 INFO L290 TraceCheckUtils]: 33: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:10,646 INFO L290 TraceCheckUtils]: 32: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:10,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:42:10,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:42:10,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:42:10,648 INFO L290 TraceCheckUtils]: 28: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:10,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,649 INFO L290 TraceCheckUtils]: 24: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,649 INFO L290 TraceCheckUtils]: 23: Hoare triple {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:10,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,650 INFO L290 TraceCheckUtils]: 21: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,651 INFO L290 TraceCheckUtils]: 19: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,652 INFO L290 TraceCheckUtils]: 16: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {6314#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 12: Hoare triple {6314#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 6: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {6314#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {6314#true} is VALID [2022-04-15 05:42:10,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-15 05:42:10,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-15 05:42:10,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-15 05:42:10,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {6314#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6314#true} is VALID [2022-04-15 05:42:10,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-15 05:42:10,654 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 17 proven. 46 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 05:42:10,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1070006129] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:10,654 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:10,654 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-15 05:42:10,654 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:10,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [653468780] [2022-04-15 05:42:10,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [653468780] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:10,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:10,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 05:42:10,655 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774827724] [2022-04-15 05:42:10,655 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:10,655 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 48 [2022-04-15 05:42:10,655 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:10,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:10,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:10,728 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 05:42:10,728 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:10,728 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 05:42:10,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-15 05:42:10,729 INFO L87 Difference]: Start difference. First operand 57 states and 68 transitions. Second operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:11,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:11,416 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-15 05:42:11,416 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 05:42:11,417 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 48 [2022-04-15 05:42:11,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:11,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:11,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-15 05:42:11,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:11,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-15 05:42:11,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 97 transitions. [2022-04-15 05:42:11,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:11,493 INFO L225 Difference]: With dead ends: 90 [2022-04-15 05:42:11,494 INFO L226 Difference]: Without dead ends: 67 [2022-04-15 05:42:11,494 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 160 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=211, Invalid=845, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 05:42:11,494 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 180 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 193 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 180 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 193 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:11,495 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [180 Valid, 31 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 193 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:11,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-15 05:42:11,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 60. [2022-04-15 05:42:11,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:11,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:11,579 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:11,580 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:11,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:11,581 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-15 05:42:11,581 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-15 05:42:11,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:11,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:11,581 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 67 states. [2022-04-15 05:42:11,581 INFO L87 Difference]: Start difference. First operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 67 states. [2022-04-15 05:42:11,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:11,582 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-15 05:42:11,582 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-15 05:42:11,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:11,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:11,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:11,582 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:11,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:11,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-15 05:42:11,583 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 48 [2022-04-15 05:42:11,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:11,583 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-15 05:42:11,584 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:11,584 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-15 05:42:11,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:11,685 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-15 05:42:11,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 05:42:11,685 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:11,686 INFO L499 BasicCegarLoop]: trace histogram [7, 7, 7, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:11,702 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:11,902 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 05:42:11,902 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:11,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:11,903 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 17 times [2022-04-15 05:42:11,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:11,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1552586345] [2022-04-15 05:42:11,906 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:11,906 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:11,906 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:11,906 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 18 times [2022-04-15 05:42:11,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:11,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1874508499] [2022-04-15 05:42:11,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:11,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:11,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:11,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:11,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:11,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {7153#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,945 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:11,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:11,984 INFO L290 TraceCheckUtils]: 0: Hoare triple {7154#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,985 INFO L290 TraceCheckUtils]: 3: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,985 INFO L290 TraceCheckUtils]: 4: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,986 INFO L290 TraceCheckUtils]: 5: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,986 INFO L290 TraceCheckUtils]: 6: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,986 INFO L290 TraceCheckUtils]: 7: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,987 INFO L290 TraceCheckUtils]: 9: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,987 INFO L290 TraceCheckUtils]: 10: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,987 INFO L290 TraceCheckUtils]: 11: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,987 INFO L290 TraceCheckUtils]: 12: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,989 INFO L290 TraceCheckUtils]: 16: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,989 INFO L290 TraceCheckUtils]: 17: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,990 INFO L290 TraceCheckUtils]: 21: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,990 INFO L290 TraceCheckUtils]: 22: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,991 INFO L290 TraceCheckUtils]: 24: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,991 INFO L290 TraceCheckUtils]: 25: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,991 INFO L290 TraceCheckUtils]: 26: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,991 INFO L290 TraceCheckUtils]: 27: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,992 INFO L290 TraceCheckUtils]: 28: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:11,992 INFO L290 TraceCheckUtils]: 29: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7157#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:11,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-15 05:42:11,993 INFO L290 TraceCheckUtils]: 31: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-15 05:42:11,993 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 05:42:11,994 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7153#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:11,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {7153#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {7119#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,997 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:11,997 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7154#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:11,997 INFO L290 TraceCheckUtils]: 12: Hoare triple {7154#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,998 INFO L290 TraceCheckUtils]: 14: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,998 INFO L290 TraceCheckUtils]: 15: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,998 INFO L290 TraceCheckUtils]: 17: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,999 INFO L290 TraceCheckUtils]: 18: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,999 INFO L290 TraceCheckUtils]: 19: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,999 INFO L290 TraceCheckUtils]: 20: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:11,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:12,000 INFO L290 TraceCheckUtils]: 22: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:12,000 INFO L290 TraceCheckUtils]: 23: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:12,000 INFO L290 TraceCheckUtils]: 24: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:12,000 INFO L290 TraceCheckUtils]: 25: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:12,001 INFO L290 TraceCheckUtils]: 26: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:12,001 INFO L290 TraceCheckUtils]: 27: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:12,001 INFO L290 TraceCheckUtils]: 28: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,001 INFO L290 TraceCheckUtils]: 29: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,002 INFO L290 TraceCheckUtils]: 30: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,002 INFO L290 TraceCheckUtils]: 31: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,002 INFO L290 TraceCheckUtils]: 32: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,002 INFO L290 TraceCheckUtils]: 33: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,003 INFO L290 TraceCheckUtils]: 34: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,003 INFO L290 TraceCheckUtils]: 35: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,003 INFO L290 TraceCheckUtils]: 36: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,003 INFO L290 TraceCheckUtils]: 37: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,004 INFO L290 TraceCheckUtils]: 38: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,004 INFO L290 TraceCheckUtils]: 39: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:12,004 INFO L290 TraceCheckUtils]: 41: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7157#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:12,023 INFO L290 TraceCheckUtils]: 42: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-15 05:42:12,024 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-15 05:42:12,024 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 05:42:12,025 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-15 05:42:12,025 INFO L290 TraceCheckUtils]: 46: Hoare triple {7115#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7115#false} is VALID [2022-04-15 05:42:12,025 INFO L272 TraceCheckUtils]: 47: Hoare triple {7115#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7115#false} is VALID [2022-04-15 05:42:12,025 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-15 05:42:12,025 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-15 05:42:12,025 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-15 05:42:12,025 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 05:42:12,025 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:12,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1874508499] [2022-04-15 05:42:12,026 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1874508499] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:12,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1395619188] [2022-04-15 05:42:12,026 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:42:12,026 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:12,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:12,039 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:12,047 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 05:42:12,124 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 05:42:12,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:12,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 05:42:12,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:12,134 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:12,440 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-15 05:42:12,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {7114#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {7119#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,442 INFO L290 TraceCheckUtils]: 6: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,443 INFO L290 TraceCheckUtils]: 7: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,443 INFO L290 TraceCheckUtils]: 8: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,444 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,444 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:12,444 INFO L290 TraceCheckUtils]: 12: Hoare triple {7119#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,445 INFO L290 TraceCheckUtils]: 13: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,445 INFO L290 TraceCheckUtils]: 14: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,445 INFO L290 TraceCheckUtils]: 15: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,446 INFO L290 TraceCheckUtils]: 16: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,446 INFO L290 TraceCheckUtils]: 17: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,447 INFO L290 TraceCheckUtils]: 19: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,447 INFO L290 TraceCheckUtils]: 20: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,448 INFO L290 TraceCheckUtils]: 23: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,449 INFO L290 TraceCheckUtils]: 24: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,449 INFO L290 TraceCheckUtils]: 25: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,449 INFO L290 TraceCheckUtils]: 26: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,450 INFO L290 TraceCheckUtils]: 27: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-15 05:42:12,450 INFO L290 TraceCheckUtils]: 28: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,462 INFO L290 TraceCheckUtils]: 29: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,463 INFO L290 TraceCheckUtils]: 30: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,463 INFO L290 TraceCheckUtils]: 31: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,464 INFO L290 TraceCheckUtils]: 32: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,464 INFO L290 TraceCheckUtils]: 33: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,464 INFO L290 TraceCheckUtils]: 34: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,465 INFO L290 TraceCheckUtils]: 35: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,465 INFO L290 TraceCheckUtils]: 36: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,465 INFO L290 TraceCheckUtils]: 37: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,466 INFO L290 TraceCheckUtils]: 38: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !(~i~0 < ~n~0); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,467 INFO L290 TraceCheckUtils]: 40: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-15 05:42:12,467 INFO L290 TraceCheckUtils]: 41: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7287#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:42:12,467 INFO L290 TraceCheckUtils]: 42: Hoare triple {7287#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} assume !(~lh~0 < ~n~0); {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L290 TraceCheckUtils]: 43: Hoare triple {7115#false} assume true; {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7115#false} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L290 TraceCheckUtils]: 46: Hoare triple {7115#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L272 TraceCheckUtils]: 47: Hoare triple {7115#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-15 05:42:12,468 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 05:42:12,468 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:12,934 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-15 05:42:12,934 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-15 05:42:12,934 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-15 05:42:12,934 INFO L272 TraceCheckUtils]: 47: Hoare triple {7115#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7115#false} is VALID [2022-04-15 05:42:12,934 INFO L290 TraceCheckUtils]: 46: Hoare triple {7115#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7115#false} is VALID [2022-04-15 05:42:12,934 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-15 05:42:12,935 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7333#(< 2 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 05:42:12,935 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-15 05:42:12,936 INFO L290 TraceCheckUtils]: 42: Hoare triple {7343#(or (<= ~n~0 2) (< SelectionSort_~lh~0 ~n~0))} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-15 05:42:12,936 INFO L290 TraceCheckUtils]: 41: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7343#(or (<= ~n~0 2) (< SelectionSort_~lh~0 ~n~0))} is VALID [2022-04-15 05:42:12,936 INFO L290 TraceCheckUtils]: 40: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,937 INFO L290 TraceCheckUtils]: 39: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !(~i~0 < ~n~0); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,937 INFO L290 TraceCheckUtils]: 38: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,937 INFO L290 TraceCheckUtils]: 37: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,937 INFO L290 TraceCheckUtils]: 36: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,938 INFO L290 TraceCheckUtils]: 35: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,938 INFO L290 TraceCheckUtils]: 34: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,938 INFO L290 TraceCheckUtils]: 33: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,939 INFO L290 TraceCheckUtils]: 32: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,939 INFO L290 TraceCheckUtils]: 31: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,939 INFO L290 TraceCheckUtils]: 30: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,939 INFO L290 TraceCheckUtils]: 29: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,940 INFO L290 TraceCheckUtils]: 28: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-15 05:42:12,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,941 INFO L290 TraceCheckUtils]: 26: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !(~i~0 < ~n~0); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,941 INFO L290 TraceCheckUtils]: 24: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,942 INFO L290 TraceCheckUtils]: 23: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,942 INFO L290 TraceCheckUtils]: 22: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,942 INFO L290 TraceCheckUtils]: 21: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,943 INFO L290 TraceCheckUtils]: 20: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,943 INFO L290 TraceCheckUtils]: 18: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,944 INFO L290 TraceCheckUtils]: 17: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,960 INFO L290 TraceCheckUtils]: 15: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,961 INFO L290 TraceCheckUtils]: 13: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,961 INFO L290 TraceCheckUtils]: 12: Hoare triple {7114#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-15 05:42:12,961 INFO L272 TraceCheckUtils]: 11: Hoare triple {7333#(< 2 ~n~0)} call SelectionSort(); {7114#true} is VALID [2022-04-15 05:42:12,962 INFO L290 TraceCheckUtils]: 10: Hoare triple {7333#(< 2 ~n~0)} assume !(~i~1 >= 0); {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {7333#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {7333#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {7333#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,963 INFO L290 TraceCheckUtils]: 6: Hoare triple {7333#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {7333#(< 2 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {7333#(< 2 ~n~0)} call #t~ret10 := main(); {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7333#(< 2 ~n~0)} {7114#true} #95#return; {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {7333#(< 2 ~n~0)} assume true; {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {7114#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7333#(< 2 ~n~0)} is VALID [2022-04-15 05:42:12,965 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-15 05:42:12,966 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 05:42:12,966 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1395619188] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:12,966 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:12,966 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-15 05:42:12,966 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:12,966 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1552586345] [2022-04-15 05:42:12,967 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1552586345] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:12,967 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:12,967 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 05:42:12,967 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [868941674] [2022-04-15 05:42:12,967 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:12,967 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 51 [2022-04-15 05:42:12,968 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:12,968 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:12,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:12,991 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 05:42:12,991 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:12,991 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 05:42:12,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2022-04-15 05:42:12,991 INFO L87 Difference]: Start difference. First operand 60 states and 72 transitions. Second operand has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:13,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:13,511 INFO L93 Difference]: Finished difference Result 87 states and 105 transitions. [2022-04-15 05:42:13,511 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 05:42:13,511 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 51 [2022-04-15 05:42:13,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:13,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:13,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-15 05:42:13,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:13,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-15 05:42:13,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 72 transitions. [2022-04-15 05:42:13,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:13,580 INFO L225 Difference]: With dead ends: 87 [2022-04-15 05:42:13,580 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 05:42:13,580 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 95 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=156, Invalid=396, Unknown=0, NotChecked=0, Total=552 [2022-04-15 05:42:13,581 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-15 05:42:13,581 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-15 05:42:13,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 05:42:13,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 66. [2022-04-15 05:42:13,687 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:13,687 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:13,688 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:13,688 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:13,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:13,689 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 05:42:13,689 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 05:42:13,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:13,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:13,689 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-15 05:42:13,689 INFO L87 Difference]: Start difference. First operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-15 05:42:13,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:13,690 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 05:42:13,690 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 05:42:13,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:13,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:13,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:13,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:13,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:13,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 80 transitions. [2022-04-15 05:42:13,692 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 80 transitions. Word has length 51 [2022-04-15 05:42:13,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:13,692 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 80 transitions. [2022-04-15 05:42:13,692 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:13,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 80 transitions. [2022-04-15 05:42:13,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:13,801 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-15 05:42:13,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 05:42:13,801 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:13,801 INFO L499 BasicCegarLoop]: trace histogram [7, 7, 7, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:13,819 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-15 05:42:14,011 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 05:42:14,011 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:14,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:14,012 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 19 times [2022-04-15 05:42:14,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:14,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [293914850] [2022-04-15 05:42:14,014 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:14,014 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:14,014 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:14,014 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 20 times [2022-04-15 05:42:14,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:14,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1889521697] [2022-04-15 05:42:14,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:14,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:14,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:14,067 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:14,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:14,072 INFO L290 TraceCheckUtils]: 0: Hoare triple {7984#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,073 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:14,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:14,135 INFO L290 TraceCheckUtils]: 0: Hoare triple {7985#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,136 INFO L290 TraceCheckUtils]: 3: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,136 INFO L290 TraceCheckUtils]: 4: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,137 INFO L290 TraceCheckUtils]: 5: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,137 INFO L290 TraceCheckUtils]: 6: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,137 INFO L290 TraceCheckUtils]: 7: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,138 INFO L290 TraceCheckUtils]: 10: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,139 INFO L290 TraceCheckUtils]: 12: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,140 INFO L290 TraceCheckUtils]: 14: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,140 INFO L290 TraceCheckUtils]: 16: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,141 INFO L290 TraceCheckUtils]: 17: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,141 INFO L290 TraceCheckUtils]: 18: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,141 INFO L290 TraceCheckUtils]: 19: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,142 INFO L290 TraceCheckUtils]: 20: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,142 INFO L290 TraceCheckUtils]: 21: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,142 INFO L290 TraceCheckUtils]: 22: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,144 INFO L290 TraceCheckUtils]: 26: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,144 INFO L290 TraceCheckUtils]: 27: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,144 INFO L290 TraceCheckUtils]: 28: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,145 INFO L290 TraceCheckUtils]: 29: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7988#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:14,145 INFO L290 TraceCheckUtils]: 30: Hoare triple {7988#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7989#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:14,146 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,146 INFO L290 TraceCheckUtils]: 32: Hoare triple {7990#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,146 INFO L290 TraceCheckUtils]: 33: Hoare triple {7990#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,147 INFO L290 TraceCheckUtils]: 34: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,147 INFO L290 TraceCheckUtils]: 35: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,148 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-15 05:42:14,148 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7984#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:14,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {7984#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,156 INFO L272 TraceCheckUtils]: 4: Hoare triple {7946#(<= 5 ~n~0)} call #t~ret10 := main(); {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {7946#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,157 INFO L290 TraceCheckUtils]: 6: Hoare triple {7946#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,157 INFO L290 TraceCheckUtils]: 7: Hoare triple {7946#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,157 INFO L290 TraceCheckUtils]: 8: Hoare triple {7946#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {7946#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,158 INFO L290 TraceCheckUtils]: 10: Hoare triple {7946#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7946#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:14,158 INFO L272 TraceCheckUtils]: 11: Hoare triple {7946#(<= 5 ~n~0)} call SelectionSort(); {7985#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:14,159 INFO L290 TraceCheckUtils]: 12: Hoare triple {7985#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,159 INFO L290 TraceCheckUtils]: 13: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,159 INFO L290 TraceCheckUtils]: 14: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,160 INFO L290 TraceCheckUtils]: 15: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,160 INFO L290 TraceCheckUtils]: 16: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,160 INFO L290 TraceCheckUtils]: 17: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,162 INFO L290 TraceCheckUtils]: 21: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,162 INFO L290 TraceCheckUtils]: 22: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,162 INFO L290 TraceCheckUtils]: 23: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,162 INFO L290 TraceCheckUtils]: 24: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,163 INFO L290 TraceCheckUtils]: 25: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,163 INFO L290 TraceCheckUtils]: 26: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,163 INFO L290 TraceCheckUtils]: 27: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:14,164 INFO L290 TraceCheckUtils]: 28: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,165 INFO L290 TraceCheckUtils]: 30: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,165 INFO L290 TraceCheckUtils]: 32: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,166 INFO L290 TraceCheckUtils]: 33: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,166 INFO L290 TraceCheckUtils]: 34: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,166 INFO L290 TraceCheckUtils]: 35: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,167 INFO L290 TraceCheckUtils]: 36: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,167 INFO L290 TraceCheckUtils]: 37: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,167 INFO L290 TraceCheckUtils]: 38: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,168 INFO L290 TraceCheckUtils]: 39: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,168 INFO L290 TraceCheckUtils]: 40: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:14,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7988#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:14,169 INFO L290 TraceCheckUtils]: 42: Hoare triple {7988#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7989#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:14,169 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,170 INFO L290 TraceCheckUtils]: 44: Hoare triple {7990#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,170 INFO L290 TraceCheckUtils]: 45: Hoare triple {7990#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,170 INFO L290 TraceCheckUtils]: 46: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,171 INFO L290 TraceCheckUtils]: 47: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-15 05:42:14,171 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-15 05:42:14,171 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-15 05:42:14,171 INFO L290 TraceCheckUtils]: 50: Hoare triple {7942#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7942#false} is VALID [2022-04-15 05:42:14,172 INFO L272 TraceCheckUtils]: 51: Hoare triple {7942#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7942#false} is VALID [2022-04-15 05:42:14,172 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-15 05:42:14,172 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-15 05:42:14,172 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-15 05:42:14,172 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 0 proven. 65 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 05:42:14,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:14,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1889521697] [2022-04-15 05:42:14,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1889521697] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:14,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [897667586] [2022-04-15 05:42:14,173 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:42:14,173 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:14,173 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:14,174 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:14,221 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 05:42:14,278 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:42:14,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:14,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:42:14,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:14,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:14,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-15 05:42:14,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {7941#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7941#true} is VALID [2022-04-15 05:42:14,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-15 05:42:14,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-15 05:42:14,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-15 05:42:14,413 INFO L290 TraceCheckUtils]: 5: Hoare triple {7941#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8009#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:14,413 INFO L290 TraceCheckUtils]: 6: Hoare triple {8009#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8009#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:14,414 INFO L290 TraceCheckUtils]: 7: Hoare triple {8009#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8016#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:14,414 INFO L290 TraceCheckUtils]: 8: Hoare triple {8016#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8016#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:14,414 INFO L290 TraceCheckUtils]: 9: Hoare triple {8016#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8023#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:14,415 INFO L290 TraceCheckUtils]: 10: Hoare triple {8023#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-15 05:42:14,415 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7942#false} is VALID [2022-04-15 05:42:14,415 INFO L290 TraceCheckUtils]: 12: Hoare triple {7942#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7942#false} is VALID [2022-04-15 05:42:14,415 INFO L290 TraceCheckUtils]: 13: Hoare triple {7942#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7942#false} is VALID [2022-04-15 05:42:14,415 INFO L290 TraceCheckUtils]: 14: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,415 INFO L290 TraceCheckUtils]: 15: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-15 05:42:14,415 INFO L290 TraceCheckUtils]: 16: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-15 05:42:14,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 26: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {7942#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 28: Hoare triple {7942#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {7942#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,416 INFO L290 TraceCheckUtils]: 31: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 32: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 33: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 34: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 37: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 38: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 39: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 40: Hoare triple {7942#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 41: Hoare triple {7942#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 42: Hoare triple {7942#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 43: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 44: Hoare triple {7942#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-15 05:42:14,417 INFO L290 TraceCheckUtils]: 45: Hoare triple {7942#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L290 TraceCheckUtils]: 46: Hoare triple {7942#false} assume !(~lh~0 < ~n~0); {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L290 TraceCheckUtils]: 47: Hoare triple {7942#false} assume true; {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7942#false} {7942#false} #91#return; {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L290 TraceCheckUtils]: 50: Hoare triple {7942#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L272 TraceCheckUtils]: 51: Hoare triple {7942#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-15 05:42:14,418 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 99 trivial. 0 not checked. [2022-04-15 05:42:14,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:14,539 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-15 05:42:14,539 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-15 05:42:14,539 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-15 05:42:14,539 INFO L272 TraceCheckUtils]: 51: Hoare triple {7942#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7942#false} is VALID [2022-04-15 05:42:14,539 INFO L290 TraceCheckUtils]: 50: Hoare triple {7942#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7942#false} is VALID [2022-04-15 05:42:14,539 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-15 05:42:14,540 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7941#true} {7942#false} #91#return; {7942#false} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 47: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 46: Hoare triple {7941#true} assume !(~lh~0 < ~n~0); {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 45: Hoare triple {7941#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 44: Hoare triple {7941#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 43: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 42: Hoare triple {7941#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 41: Hoare triple {7941#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 40: Hoare triple {7941#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,540 INFO L290 TraceCheckUtils]: 39: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 38: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 37: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 35: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 34: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 33: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 32: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 31: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 30: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,541 INFO L290 TraceCheckUtils]: 29: Hoare triple {7941#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 28: Hoare triple {7941#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {7941#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 25: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 23: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 22: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 21: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L290 TraceCheckUtils]: 18: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L290 TraceCheckUtils]: 17: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L290 TraceCheckUtils]: 16: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L290 TraceCheckUtils]: 13: Hoare triple {7941#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L290 TraceCheckUtils]: 12: Hoare triple {7941#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7941#true} is VALID [2022-04-15 05:42:14,543 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7941#true} is VALID [2022-04-15 05:42:14,544 INFO L290 TraceCheckUtils]: 10: Hoare triple {8291#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-15 05:42:14,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {8295#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8291#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:14,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {8295#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8295#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:14,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {8023#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8295#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:14,545 INFO L290 TraceCheckUtils]: 6: Hoare triple {8023#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8023#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:14,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {7941#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8023#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:14,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-15 05:42:14,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-15 05:42:14,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-15 05:42:14,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {7941#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7941#true} is VALID [2022-04-15 05:42:14,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-15 05:42:14,546 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 99 trivial. 0 not checked. [2022-04-15 05:42:14,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [897667586] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:14,547 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:14,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-15 05:42:14,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:14,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [293914850] [2022-04-15 05:42:14,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [293914850] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:14,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:14,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 05:42:14,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [302729789] [2022-04-15 05:42:14,547 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:14,548 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-15 05:42:14,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:14,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:14,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:14,573 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 05:42:14,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:14,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 05:42:14,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-15 05:42:14,574 INFO L87 Difference]: Start difference. First operand 66 states and 80 transitions. Second operand has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:15,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:15,253 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-15 05:42:15,253 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 05:42:15,254 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-15 05:42:15,254 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:15,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:15,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-15 05:42:15,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:15,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-15 05:42:15,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 87 transitions. [2022-04-15 05:42:15,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:15,324 INFO L225 Difference]: With dead ends: 90 [2022-04-15 05:42:15,324 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 05:42:15,325 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 106 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=137, Invalid=513, Unknown=0, NotChecked=0, Total=650 [2022-04-15 05:42:15,325 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 159 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 159 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 202 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:15,325 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [159 Valid, 29 Invalid, 202 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:15,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 05:42:15,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 67. [2022-04-15 05:42:15,431 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:15,431 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:15,432 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:15,432 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:15,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:15,433 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 05:42:15,433 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 05:42:15,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:15,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:15,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-15 05:42:15,433 INFO L87 Difference]: Start difference. First operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-15 05:42:15,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:15,434 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 05:42:15,434 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 05:42:15,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:15,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:15,434 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:15,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:15,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:15,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-04-15 05:42:15,436 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 55 [2022-04-15 05:42:15,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:15,436 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-04-15 05:42:15,436 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:15,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 81 transitions. [2022-04-15 05:42:15,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:15,551 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-04-15 05:42:15,551 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 05:42:15,551 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:15,551 INFO L499 BasicCegarLoop]: trace histogram [8, 8, 8, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:15,568 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-15 05:42:15,766 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-15 05:42:15,766 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:15,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:15,767 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 21 times [2022-04-15 05:42:15,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:15,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [461688907] [2022-04-15 05:42:15,769 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:15,769 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:15,769 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:15,769 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 22 times [2022-04-15 05:42:15,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:15,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160962255] [2022-04-15 05:42:15,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:15,770 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:15,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:15,813 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:15,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:15,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {8855#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,820 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:15,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:15,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {8856#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,875 INFO L290 TraceCheckUtils]: 3: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,876 INFO L290 TraceCheckUtils]: 4: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,876 INFO L290 TraceCheckUtils]: 6: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,878 INFO L290 TraceCheckUtils]: 10: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,878 INFO L290 TraceCheckUtils]: 11: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,880 INFO L290 TraceCheckUtils]: 16: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,880 INFO L290 TraceCheckUtils]: 17: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,880 INFO L290 TraceCheckUtils]: 18: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,881 INFO L290 TraceCheckUtils]: 19: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,881 INFO L290 TraceCheckUtils]: 21: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,882 INFO L290 TraceCheckUtils]: 23: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,882 INFO L290 TraceCheckUtils]: 24: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,882 INFO L290 TraceCheckUtils]: 25: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,883 INFO L290 TraceCheckUtils]: 26: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,883 INFO L290 TraceCheckUtils]: 27: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,883 INFO L290 TraceCheckUtils]: 28: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,884 INFO L290 TraceCheckUtils]: 29: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8859#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:15,884 INFO L290 TraceCheckUtils]: 30: Hoare triple {8859#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:15,884 INFO L290 TraceCheckUtils]: 31: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:15,885 INFO L290 TraceCheckUtils]: 32: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:15,885 INFO L290 TraceCheckUtils]: 33: Hoare triple {8860#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8861#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:15,885 INFO L290 TraceCheckUtils]: 34: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {8862#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,886 INFO L290 TraceCheckUtils]: 36: Hoare triple {8862#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,886 INFO L290 TraceCheckUtils]: 37: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,886 INFO L290 TraceCheckUtils]: 38: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,887 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-15 05:42:15,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8855#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:15,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {8855#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,889 INFO L272 TraceCheckUtils]: 4: Hoare triple {8814#(<= 5 ~n~0)} call #t~ret10 := main(); {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {8814#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,890 INFO L290 TraceCheckUtils]: 6: Hoare triple {8814#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,890 INFO L290 TraceCheckUtils]: 7: Hoare triple {8814#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {8814#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {8814#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,891 INFO L290 TraceCheckUtils]: 10: Hoare triple {8814#(<= 5 ~n~0)} assume !(~i~1 >= 0); {8814#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:15,891 INFO L272 TraceCheckUtils]: 11: Hoare triple {8814#(<= 5 ~n~0)} call SelectionSort(); {8856#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:15,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {8856#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,893 INFO L290 TraceCheckUtils]: 16: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,893 INFO L290 TraceCheckUtils]: 17: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,895 INFO L290 TraceCheckUtils]: 23: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,895 INFO L290 TraceCheckUtils]: 24: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,896 INFO L290 TraceCheckUtils]: 26: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:15,897 INFO L290 TraceCheckUtils]: 28: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,897 INFO L290 TraceCheckUtils]: 29: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,897 INFO L290 TraceCheckUtils]: 30: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,898 INFO L290 TraceCheckUtils]: 32: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,898 INFO L290 TraceCheckUtils]: 33: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,898 INFO L290 TraceCheckUtils]: 34: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,899 INFO L290 TraceCheckUtils]: 35: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,899 INFO L290 TraceCheckUtils]: 36: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,899 INFO L290 TraceCheckUtils]: 37: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,900 INFO L290 TraceCheckUtils]: 38: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,900 INFO L290 TraceCheckUtils]: 39: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,900 INFO L290 TraceCheckUtils]: 40: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:15,901 INFO L290 TraceCheckUtils]: 41: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8859#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:15,901 INFO L290 TraceCheckUtils]: 42: Hoare triple {8859#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:15,901 INFO L290 TraceCheckUtils]: 43: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:15,902 INFO L290 TraceCheckUtils]: 44: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-15 05:42:15,902 INFO L290 TraceCheckUtils]: 45: Hoare triple {8860#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8861#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:15,902 INFO L290 TraceCheckUtils]: 46: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,903 INFO L290 TraceCheckUtils]: 47: Hoare triple {8862#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,903 INFO L290 TraceCheckUtils]: 48: Hoare triple {8862#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,903 INFO L290 TraceCheckUtils]: 49: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,904 INFO L290 TraceCheckUtils]: 50: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-15 05:42:15,904 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-15 05:42:15,904 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-15 05:42:15,904 INFO L290 TraceCheckUtils]: 53: Hoare triple {8810#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8810#false} is VALID [2022-04-15 05:42:15,904 INFO L272 TraceCheckUtils]: 54: Hoare triple {8810#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {8810#false} is VALID [2022-04-15 05:42:15,904 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-15 05:42:15,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-15 05:42:15,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-15 05:42:15,905 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 0 proven. 89 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 05:42:15,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:15,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160962255] [2022-04-15 05:42:15,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160962255] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:15,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [571391757] [2022-04-15 05:42:15,905 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:42:15,905 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:15,905 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:15,906 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:15,910 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 05:42:15,996 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:42:15,996 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:15,997 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 05:42:16,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:16,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:16,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {8809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {8809#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L290 TraceCheckUtils]: 6: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-15 05:42:16,343 INFO L290 TraceCheckUtils]: 9: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-15 05:42:16,344 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-15 05:42:16,344 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-15 05:42:16,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {8809#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8809#true} is VALID [2022-04-15 05:42:16,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {8809#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,345 INFO L290 TraceCheckUtils]: 16: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,346 INFO L290 TraceCheckUtils]: 17: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,346 INFO L290 TraceCheckUtils]: 18: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,347 INFO L290 TraceCheckUtils]: 21: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,347 INFO L290 TraceCheckUtils]: 22: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,351 INFO L290 TraceCheckUtils]: 24: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,351 INFO L290 TraceCheckUtils]: 26: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,351 INFO L290 TraceCheckUtils]: 27: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,352 INFO L290 TraceCheckUtils]: 28: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,352 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,352 INFO L290 TraceCheckUtils]: 30: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,354 INFO L290 TraceCheckUtils]: 36: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,354 INFO L290 TraceCheckUtils]: 37: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,355 INFO L290 TraceCheckUtils]: 38: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,355 INFO L290 TraceCheckUtils]: 39: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,355 INFO L290 TraceCheckUtils]: 40: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,356 INFO L290 TraceCheckUtils]: 41: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:16,356 INFO L290 TraceCheckUtils]: 42: Hoare triple {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:16,356 INFO L290 TraceCheckUtils]: 43: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:16,357 INFO L290 TraceCheckUtils]: 44: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:16,357 INFO L290 TraceCheckUtils]: 45: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9009#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-15 05:42:16,357 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-15 05:42:16,357 INFO L290 TraceCheckUtils]: 47: Hoare triple {8810#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 48: Hoare triple {8810#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 53: Hoare triple {8810#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L272 TraceCheckUtils]: 54: Hoare triple {8810#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-15 05:42:16,358 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-15 05:42:16,359 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 21 proven. 90 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 05:42:16,359 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:16,612 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-15 05:42:16,612 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-15 05:42:16,612 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-15 05:42:16,612 INFO L272 TraceCheckUtils]: 54: Hoare triple {8810#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {8810#false} is VALID [2022-04-15 05:42:16,612 INFO L290 TraceCheckUtils]: 53: Hoare triple {8810#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8810#false} is VALID [2022-04-15 05:42:16,612 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-15 05:42:16,612 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-15 05:42:16,613 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-15 05:42:16,613 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-15 05:42:16,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {8810#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8810#false} is VALID [2022-04-15 05:42:16,613 INFO L290 TraceCheckUtils]: 47: Hoare triple {8810#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8810#false} is VALID [2022-04-15 05:42:16,613 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-15 05:42:16,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9009#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-15 05:42:16,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:16,614 INFO L290 TraceCheckUtils]: 43: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:16,615 INFO L290 TraceCheckUtils]: 42: Hoare triple {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:42:16,615 INFO L290 TraceCheckUtils]: 41: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:16,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,616 INFO L290 TraceCheckUtils]: 38: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,616 INFO L290 TraceCheckUtils]: 37: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,616 INFO L290 TraceCheckUtils]: 36: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,617 INFO L290 TraceCheckUtils]: 35: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,617 INFO L290 TraceCheckUtils]: 33: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,618 INFO L290 TraceCheckUtils]: 31: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,618 INFO L290 TraceCheckUtils]: 30: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,618 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,619 INFO L290 TraceCheckUtils]: 28: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:16,619 INFO L290 TraceCheckUtils]: 27: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,619 INFO L290 TraceCheckUtils]: 26: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,620 INFO L290 TraceCheckUtils]: 23: Hoare triple {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:16,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,621 INFO L290 TraceCheckUtils]: 21: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,622 INFO L290 TraceCheckUtils]: 19: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,622 INFO L290 TraceCheckUtils]: 18: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,623 INFO L290 TraceCheckUtils]: 17: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,623 INFO L290 TraceCheckUtils]: 16: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {8809#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 12: Hoare triple {8809#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8809#true} is VALID [2022-04-15 05:42:16,624 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-15 05:42:16,624 INFO L290 TraceCheckUtils]: 6: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-15 05:42:16,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {8809#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8809#true} is VALID [2022-04-15 05:42:16,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-15 05:42:16,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-15 05:42:16,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-15 05:42:16,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {8809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8809#true} is VALID [2022-04-15 05:42:16,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-15 05:42:16,625 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 21 proven. 90 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 05:42:16,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [571391757] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:16,625 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:16,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-15 05:42:16,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:16,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [461688907] [2022-04-15 05:42:16,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [461688907] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:16,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:16,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 05:42:16,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1405765604] [2022-04-15 05:42:16,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:16,626 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-15 05:42:16,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:16,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:16,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:16,653 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 05:42:16,653 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:16,654 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 05:42:16,654 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-15 05:42:16,654 INFO L87 Difference]: Start difference. First operand 67 states and 81 transitions. Second operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:17,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:17,482 INFO L93 Difference]: Finished difference Result 100 states and 123 transitions. [2022-04-15 05:42:17,482 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 05:42:17,482 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-15 05:42:17,483 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:17,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:17,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-15 05:42:17,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:17,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-15 05:42:17,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 105 transitions. [2022-04-15 05:42:17,577 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:17,578 INFO L225 Difference]: With dead ends: 100 [2022-04-15 05:42:17,578 INFO L226 Difference]: Without dead ends: 77 [2022-04-15 05:42:17,579 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 108 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 184 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=225, Invalid=897, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 05:42:17,579 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 199 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 199 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:17,579 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [199 Valid, 31 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:17,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-15 05:42:17,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-15 05:42:17,716 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:17,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:17,717 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:17,717 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:17,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:17,718 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-15 05:42:17,718 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-15 05:42:17,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:17,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:17,718 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 77 states. [2022-04-15 05:42:17,719 INFO L87 Difference]: Start difference. First operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 77 states. [2022-04-15 05:42:17,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:17,720 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-15 05:42:17,720 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-15 05:42:17,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:17,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:17,720 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:17,720 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:17,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:17,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 85 transitions. [2022-04-15 05:42:17,721 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 85 transitions. Word has length 58 [2022-04-15 05:42:17,721 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:17,721 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 85 transitions. [2022-04-15 05:42:17,721 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:17,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 85 transitions. [2022-04-15 05:42:17,839 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:17,839 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-15 05:42:17,840 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 05:42:17,840 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:17,840 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 9, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:17,857 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:18,040 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:18,041 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:18,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:18,042 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 23 times [2022-04-15 05:42:18,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:18,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1810366126] [2022-04-15 05:42:18,045 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:18,045 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:18,045 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:18,045 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 24 times [2022-04-15 05:42:18,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:18,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1625780715] [2022-04-15 05:42:18,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:18,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:18,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:18,093 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:18,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:18,099 INFO L290 TraceCheckUtils]: 0: Hoare triple {9790#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,100 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:18,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:18,151 INFO L290 TraceCheckUtils]: 0: Hoare triple {9791#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,152 INFO L290 TraceCheckUtils]: 3: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,152 INFO L290 TraceCheckUtils]: 4: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,153 INFO L290 TraceCheckUtils]: 6: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,154 INFO L290 TraceCheckUtils]: 10: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,154 INFO L290 TraceCheckUtils]: 12: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,156 INFO L290 TraceCheckUtils]: 16: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,156 INFO L290 TraceCheckUtils]: 19: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,157 INFO L290 TraceCheckUtils]: 21: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,157 INFO L290 TraceCheckUtils]: 22: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,157 INFO L290 TraceCheckUtils]: 23: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,158 INFO L290 TraceCheckUtils]: 24: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,158 INFO L290 TraceCheckUtils]: 25: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,158 INFO L290 TraceCheckUtils]: 26: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,158 INFO L290 TraceCheckUtils]: 27: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,158 INFO L290 TraceCheckUtils]: 28: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,159 INFO L290 TraceCheckUtils]: 29: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,160 INFO L290 TraceCheckUtils]: 32: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,160 INFO L290 TraceCheckUtils]: 33: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,160 INFO L290 TraceCheckUtils]: 34: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,161 INFO L290 TraceCheckUtils]: 36: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,161 INFO L290 TraceCheckUtils]: 37: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,161 INFO L290 TraceCheckUtils]: 38: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9795#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:18,162 INFO L290 TraceCheckUtils]: 40: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-15 05:42:18,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-15 05:42:18,162 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-15 05:42:18,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9790#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:18,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {9790#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {9746#(<= 5 ~n~0)} call #t~ret10 := main(); {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,165 INFO L290 TraceCheckUtils]: 5: Hoare triple {9746#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,165 INFO L290 TraceCheckUtils]: 6: Hoare triple {9746#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,165 INFO L290 TraceCheckUtils]: 7: Hoare triple {9746#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {9746#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {9746#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,166 INFO L290 TraceCheckUtils]: 10: Hoare triple {9746#(<= 5 ~n~0)} assume !(~i~1 >= 0); {9746#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:18,166 INFO L272 TraceCheckUtils]: 11: Hoare triple {9746#(<= 5 ~n~0)} call SelectionSort(); {9791#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:18,166 INFO L290 TraceCheckUtils]: 12: Hoare triple {9791#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,169 INFO L290 TraceCheckUtils]: 21: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,169 INFO L290 TraceCheckUtils]: 22: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,169 INFO L290 TraceCheckUtils]: 23: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:18,171 INFO L290 TraceCheckUtils]: 28: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,171 INFO L290 TraceCheckUtils]: 29: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,171 INFO L290 TraceCheckUtils]: 30: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,172 INFO L290 TraceCheckUtils]: 32: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,172 INFO L290 TraceCheckUtils]: 33: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,172 INFO L290 TraceCheckUtils]: 34: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,172 INFO L290 TraceCheckUtils]: 35: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,172 INFO L290 TraceCheckUtils]: 36: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,173 INFO L290 TraceCheckUtils]: 37: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,173 INFO L290 TraceCheckUtils]: 38: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,173 INFO L290 TraceCheckUtils]: 39: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,173 INFO L290 TraceCheckUtils]: 40: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:18,174 INFO L290 TraceCheckUtils]: 41: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,174 INFO L290 TraceCheckUtils]: 42: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,174 INFO L290 TraceCheckUtils]: 43: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,175 INFO L290 TraceCheckUtils]: 44: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,175 INFO L290 TraceCheckUtils]: 45: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,175 INFO L290 TraceCheckUtils]: 46: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,175 INFO L290 TraceCheckUtils]: 47: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,176 INFO L290 TraceCheckUtils]: 48: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,176 INFO L290 TraceCheckUtils]: 49: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,176 INFO L290 TraceCheckUtils]: 50: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:18,176 INFO L290 TraceCheckUtils]: 51: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9795#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:18,177 INFO L290 TraceCheckUtils]: 52: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-15 05:42:18,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-15 05:42:18,177 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-15 05:42:18,177 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-15 05:42:18,178 INFO L290 TraceCheckUtils]: 56: Hoare triple {9742#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9742#false} is VALID [2022-04-15 05:42:18,178 INFO L272 TraceCheckUtils]: 57: Hoare triple {9742#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {9742#false} is VALID [2022-04-15 05:42:18,178 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-15 05:42:18,178 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-15 05:42:18,178 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-15 05:42:18,178 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 111 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 05:42:18,178 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:18,178 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1625780715] [2022-04-15 05:42:18,178 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1625780715] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:18,178 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1817101769] [2022-04-15 05:42:18,179 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:42:18,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:18,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:18,180 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:18,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 05:42:18,253 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 05:42:18,253 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:18,254 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:42:18,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:18,263 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:18,411 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-15 05:42:18,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {9741#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9741#true} is VALID [2022-04-15 05:42:18,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-15 05:42:18,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-15 05:42:18,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-15 05:42:18,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {9741#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {9815#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:18,415 INFO L290 TraceCheckUtils]: 6: Hoare triple {9815#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9815#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:18,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {9815#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9822#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:18,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {9822#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9822#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:18,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {9822#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9829#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 10: Hoare triple {9829#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {9742#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {9742#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 16: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 17: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 26: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {9742#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 28: Hoare triple {9742#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 29: Hoare triple {9742#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,418 INFO L290 TraceCheckUtils]: 34: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 35: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 36: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 37: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 38: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 39: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {9742#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 41: Hoare triple {9742#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 42: Hoare triple {9742#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 43: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 44: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 45: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,419 INFO L290 TraceCheckUtils]: 46: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 47: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 48: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 49: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 50: Hoare triple {9742#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 51: Hoare triple {9742#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 52: Hoare triple {9742#false} assume !(~lh~0 < ~n~0); {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 53: Hoare triple {9742#false} assume true; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9742#false} {9742#false} #91#return; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 56: Hoare triple {9742#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L272 TraceCheckUtils]: 57: Hoare triple {9742#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-15 05:42:18,420 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-15 05:42:18,421 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 05:42:18,421 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:18,550 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-15 05:42:18,550 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-15 05:42:18,550 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-15 05:42:18,550 INFO L272 TraceCheckUtils]: 57: Hoare triple {9742#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {9742#false} is VALID [2022-04-15 05:42:18,550 INFO L290 TraceCheckUtils]: 56: Hoare triple {9742#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9742#false} is VALID [2022-04-15 05:42:18,550 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-15 05:42:18,550 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9741#true} {9742#false} #91#return; {9742#false} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 53: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 52: Hoare triple {9741#true} assume !(~lh~0 < ~n~0); {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 51: Hoare triple {9741#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 50: Hoare triple {9741#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 49: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 48: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 47: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 46: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 45: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 44: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 43: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 42: Hoare triple {9741#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9741#true} is VALID [2022-04-15 05:42:18,551 INFO L290 TraceCheckUtils]: 41: Hoare triple {9741#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 40: Hoare triple {9741#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 38: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 37: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 36: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 34: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 33: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 32: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 31: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 30: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 29: Hoare triple {9741#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {9741#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9741#true} is VALID [2022-04-15 05:42:18,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {9741#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 24: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 23: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 22: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 21: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 18: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 17: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 16: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-15 05:42:18,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-15 05:42:18,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {9741#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9741#true} is VALID [2022-04-15 05:42:18,554 INFO L290 TraceCheckUtils]: 12: Hoare triple {9741#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9741#true} is VALID [2022-04-15 05:42:18,554 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9741#true} is VALID [2022-04-15 05:42:18,561 INFO L290 TraceCheckUtils]: 10: Hoare triple {10133#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-15 05:42:18,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {10137#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10133#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:18,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {10137#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10137#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:18,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {9829#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10137#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:18,562 INFO L290 TraceCheckUtils]: 6: Hoare triple {9829#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9829#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:18,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {9741#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {9829#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:18,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-15 05:42:18,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-15 05:42:18,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-15 05:42:18,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {9741#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9741#true} is VALID [2022-04-15 05:42:18,563 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-15 05:42:18,563 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 05:42:18,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1817101769] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:18,564 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:18,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-15 05:42:18,564 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:18,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1810366126] [2022-04-15 05:42:18,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1810366126] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:18,564 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:18,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 05:42:18,564 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [948302419] [2022-04-15 05:42:18,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:18,565 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-15 05:42:18,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:18,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:18,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:18,592 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 05:42:18,592 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:18,592 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 05:42:18,592 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-15 05:42:18,592 INFO L87 Difference]: Start difference. First operand 70 states and 85 transitions. Second operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:19,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:19,221 INFO L93 Difference]: Finished difference Result 97 states and 118 transitions. [2022-04-15 05:42:19,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 05:42:19,221 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-15 05:42:19,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:19,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:19,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-15 05:42:19,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:19,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-15 05:42:19,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-15 05:42:19,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:19,309 INFO L225 Difference]: With dead ends: 97 [2022-04-15 05:42:19,309 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 05:42:19,310 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 118 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=116, Invalid=436, Unknown=0, NotChecked=0, Total=552 [2022-04-15 05:42:19,310 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 140 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 163 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 140 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 163 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:19,310 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [140 Valid, 31 Invalid, 190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 163 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:19,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 05:42:19,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 76. [2022-04-15 05:42:19,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:19,438 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:19,439 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:19,439 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:19,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:19,440 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 05:42:19,440 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 05:42:19,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:19,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:19,440 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-15 05:42:19,440 INFO L87 Difference]: Start difference. First operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-15 05:42:19,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:19,441 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 05:42:19,441 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 05:42:19,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:19,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:19,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:19,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:19,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:19,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 93 transitions. [2022-04-15 05:42:19,443 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 93 transitions. Word has length 61 [2022-04-15 05:42:19,443 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:19,443 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 93 transitions. [2022-04-15 05:42:19,443 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:19,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 93 transitions. [2022-04-15 05:42:19,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:19,599 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-15 05:42:19,600 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-15 05:42:19,600 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:19,600 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 9, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:19,623 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-15 05:42:19,813 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-15 05:42:19,813 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:19,813 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:19,813 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 25 times [2022-04-15 05:42:19,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:19,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [280775944] [2022-04-15 05:42:19,816 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:19,816 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:19,816 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:19,816 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 26 times [2022-04-15 05:42:19,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:19,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [83467458] [2022-04-15 05:42:19,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:19,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:19,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:19,853 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:19,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:19,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {10752#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,859 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,862 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:19,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:19,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {10753#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,922 INFO L290 TraceCheckUtils]: 3: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,922 INFO L290 TraceCheckUtils]: 4: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,923 INFO L290 TraceCheckUtils]: 6: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,924 INFO L290 TraceCheckUtils]: 10: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,925 INFO L290 TraceCheckUtils]: 12: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,926 INFO L290 TraceCheckUtils]: 15: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,926 INFO L290 TraceCheckUtils]: 16: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,926 INFO L290 TraceCheckUtils]: 17: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,928 INFO L290 TraceCheckUtils]: 21: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,928 INFO L290 TraceCheckUtils]: 22: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,928 INFO L290 TraceCheckUtils]: 23: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,929 INFO L290 TraceCheckUtils]: 25: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,930 INFO L290 TraceCheckUtils]: 28: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,930 INFO L290 TraceCheckUtils]: 29: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,930 INFO L290 TraceCheckUtils]: 30: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,931 INFO L290 TraceCheckUtils]: 31: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,931 INFO L290 TraceCheckUtils]: 33: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,931 INFO L290 TraceCheckUtils]: 34: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,932 INFO L290 TraceCheckUtils]: 35: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,932 INFO L290 TraceCheckUtils]: 36: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,932 INFO L290 TraceCheckUtils]: 37: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,933 INFO L290 TraceCheckUtils]: 38: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,933 INFO L290 TraceCheckUtils]: 39: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10757#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:19,934 INFO L290 TraceCheckUtils]: 40: Hoare triple {10757#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10758#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:19,934 INFO L290 TraceCheckUtils]: 41: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,934 INFO L290 TraceCheckUtils]: 42: Hoare triple {10759#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,935 INFO L290 TraceCheckUtils]: 43: Hoare triple {10759#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,935 INFO L290 TraceCheckUtils]: 44: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,935 INFO L290 TraceCheckUtils]: 45: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,936 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-15 05:42:19,944 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10752#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:19,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {10752#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {10704#(<= 5 ~n~0)} call #t~ret10 := main(); {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {10704#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,946 INFO L290 TraceCheckUtils]: 6: Hoare triple {10704#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {10704#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {10704#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {10704#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,947 INFO L290 TraceCheckUtils]: 10: Hoare triple {10704#(<= 5 ~n~0)} assume !(~i~1 >= 0); {10704#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:19,948 INFO L272 TraceCheckUtils]: 11: Hoare triple {10704#(<= 5 ~n~0)} call SelectionSort(); {10753#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:19,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {10753#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,949 INFO L290 TraceCheckUtils]: 16: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,950 INFO L290 TraceCheckUtils]: 17: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,951 INFO L290 TraceCheckUtils]: 22: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,952 INFO L290 TraceCheckUtils]: 23: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,952 INFO L290 TraceCheckUtils]: 24: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,952 INFO L290 TraceCheckUtils]: 25: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,952 INFO L290 TraceCheckUtils]: 26: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:19,953 INFO L290 TraceCheckUtils]: 28: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,954 INFO L290 TraceCheckUtils]: 29: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,954 INFO L290 TraceCheckUtils]: 31: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,955 INFO L290 TraceCheckUtils]: 32: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,955 INFO L290 TraceCheckUtils]: 33: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,955 INFO L290 TraceCheckUtils]: 34: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,956 INFO L290 TraceCheckUtils]: 36: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,956 INFO L290 TraceCheckUtils]: 37: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,956 INFO L290 TraceCheckUtils]: 38: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,957 INFO L290 TraceCheckUtils]: 40: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:19,958 INFO L290 TraceCheckUtils]: 41: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,958 INFO L290 TraceCheckUtils]: 42: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,959 INFO L290 TraceCheckUtils]: 45: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,959 INFO L290 TraceCheckUtils]: 47: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,960 INFO L290 TraceCheckUtils]: 48: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,960 INFO L290 TraceCheckUtils]: 49: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,960 INFO L290 TraceCheckUtils]: 50: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:19,961 INFO L290 TraceCheckUtils]: 51: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10757#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:19,961 INFO L290 TraceCheckUtils]: 52: Hoare triple {10757#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10758#(<= SelectionSort_~i~0 4)} is VALID [2022-04-15 05:42:19,961 INFO L290 TraceCheckUtils]: 53: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,962 INFO L290 TraceCheckUtils]: 54: Hoare triple {10759#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,962 INFO L290 TraceCheckUtils]: 55: Hoare triple {10759#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,962 INFO L290 TraceCheckUtils]: 56: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,962 INFO L290 TraceCheckUtils]: 57: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-15 05:42:19,963 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-15 05:42:19,963 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-15 05:42:19,963 INFO L290 TraceCheckUtils]: 60: Hoare triple {10700#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10700#false} is VALID [2022-04-15 05:42:19,963 INFO L272 TraceCheckUtils]: 61: Hoare triple {10700#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {10700#false} is VALID [2022-04-15 05:42:19,963 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-15 05:42:19,963 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-15 05:42:19,963 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-15 05:42:19,964 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 0 proven. 133 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 05:42:19,964 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:19,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [83467458] [2022-04-15 05:42:19,964 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [83467458] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:19,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [335417522] [2022-04-15 05:42:19,964 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:42:19,964 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:19,964 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:19,965 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:19,966 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 05:42:20,051 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:42:20,051 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:20,052 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:42:20,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:20,064 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:20,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-15 05:42:20,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {10699#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10699#true} is VALID [2022-04-15 05:42:20,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-15 05:42:20,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-15 05:42:20,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-15 05:42:20,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {10699#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {10778#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:20,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {10778#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10778#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:20,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {10778#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10785#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:20,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {10785#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10785#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:20,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {10785#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10792#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 10: Hoare triple {10792#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 12: Hoare triple {10700#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 16: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 17: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 21: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,213 INFO L290 TraceCheckUtils]: 22: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 23: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 24: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 26: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 28: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 29: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 31: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 32: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 33: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 34: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,214 INFO L290 TraceCheckUtils]: 36: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 37: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 38: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 39: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 40: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 41: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 42: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 43: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 44: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 45: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 46: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 47: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 48: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 49: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 05:42:20,215 INFO L290 TraceCheckUtils]: 50: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 51: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 52: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 53: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 54: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 55: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 56: Hoare triple {10700#false} assume !(~lh~0 < ~n~0); {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 57: Hoare triple {10700#false} assume true; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10700#false} {10700#false} #91#return; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 60: Hoare triple {10700#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L272 TraceCheckUtils]: 61: Hoare triple {10700#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-15 05:42:20,216 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-15 05:42:20,217 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-15 05:42:20,217 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:20,350 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-15 05:42:20,350 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-15 05:42:20,350 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-15 05:42:20,350 INFO L272 TraceCheckUtils]: 61: Hoare triple {10700#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {10700#false} is VALID [2022-04-15 05:42:20,350 INFO L290 TraceCheckUtils]: 60: Hoare triple {10700#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10700#false} is VALID [2022-04-15 05:42:20,350 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-15 05:42:20,351 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10699#true} {10700#false} #91#return; {10700#false} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 57: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 56: Hoare triple {10699#true} assume !(~lh~0 < ~n~0); {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 55: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 54: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 53: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 52: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 51: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 50: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,351 INFO L290 TraceCheckUtils]: 49: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 48: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 47: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 46: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 45: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 44: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 43: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 42: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 41: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 40: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 39: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 05:42:20,352 INFO L290 TraceCheckUtils]: 38: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 37: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 36: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 35: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-15 05:42:20,353 INFO L290 TraceCheckUtils]: 27: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 26: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 25: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 24: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 23: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 22: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 21: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 19: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 18: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,354 INFO L290 TraceCheckUtils]: 17: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-15 05:42:20,355 INFO L290 TraceCheckUtils]: 15: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-15 05:42:20,355 INFO L290 TraceCheckUtils]: 14: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-15 05:42:20,355 INFO L290 TraceCheckUtils]: 13: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-15 05:42:20,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {10699#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10699#true} is VALID [2022-04-15 05:42:20,355 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10699#true} is VALID [2022-04-15 05:42:20,355 INFO L290 TraceCheckUtils]: 10: Hoare triple {11120#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-15 05:42:20,356 INFO L290 TraceCheckUtils]: 9: Hoare triple {11124#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11120#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:20,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {11124#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11124#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:20,357 INFO L290 TraceCheckUtils]: 7: Hoare triple {10792#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11124#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:20,357 INFO L290 TraceCheckUtils]: 6: Hoare triple {10792#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10792#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:20,357 INFO L290 TraceCheckUtils]: 5: Hoare triple {10699#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {10792#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:20,357 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-15 05:42:20,358 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-15 05:42:20,358 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-15 05:42:20,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {10699#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10699#true} is VALID [2022-04-15 05:42:20,358 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-15 05:42:20,358 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-15 05:42:20,358 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [335417522] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:20,358 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:20,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 5, 5] total 16 [2022-04-15 05:42:20,359 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:20,359 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [280775944] [2022-04-15 05:42:20,359 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [280775944] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:20,359 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:20,359 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 05:42:20,359 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [322806571] [2022-04-15 05:42:20,359 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:20,359 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 65 [2022-04-15 05:42:20,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:20,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:20,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:20,392 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 05:42:20,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:20,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 05:42:20,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-15 05:42:20,392 INFO L87 Difference]: Start difference. First operand 76 states and 93 transitions. Second operand has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:21,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:21,149 INFO L93 Difference]: Finished difference Result 100 states and 121 transitions. [2022-04-15 05:42:21,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 05:42:21,149 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 65 [2022-04-15 05:42:21,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:21,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:21,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-15 05:42:21,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:21,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-15 05:42:21,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 99 transitions. [2022-04-15 05:42:21,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:21,245 INFO L225 Difference]: With dead ends: 100 [2022-04-15 05:42:21,245 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 05:42:21,245 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 126 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=173, Invalid=639, Unknown=0, NotChecked=0, Total=812 [2022-04-15 05:42:21,246 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 196 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 196 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 215 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:21,246 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [196 Valid, 29 Invalid, 215 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:21,247 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 05:42:21,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 77. [2022-04-15 05:42:21,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:21,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:21,402 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:21,403 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:21,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:21,404 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 05:42:21,404 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 05:42:21,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:21,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:21,404 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-15 05:42:21,404 INFO L87 Difference]: Start difference. First operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-15 05:42:21,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:21,405 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 05:42:21,405 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 05:42:21,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:21,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:21,405 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:21,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:21,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:21,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 94 transitions. [2022-04-15 05:42:21,406 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 94 transitions. Word has length 65 [2022-04-15 05:42:21,406 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:21,407 INFO L478 AbstractCegarLoop]: Abstraction has 77 states and 94 transitions. [2022-04-15 05:42:21,407 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:21,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 94 transitions. [2022-04-15 05:42:21,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:21,574 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 94 transitions. [2022-04-15 05:42:21,575 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-15 05:42:21,575 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:21,575 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:21,614 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:21,775 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-15 05:42:21,776 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:21,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:21,776 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 27 times [2022-04-15 05:42:21,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:21,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1552880467] [2022-04-15 05:42:21,779 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:21,779 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:21,779 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:21,779 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 28 times [2022-04-15 05:42:21,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:21,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [133731230] [2022-04-15 05:42:21,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:21,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:21,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:21,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:21,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:21,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {11758#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,822 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,824 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:21,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:21,878 INFO L290 TraceCheckUtils]: 0: Hoare triple {11759#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,879 INFO L290 TraceCheckUtils]: 3: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,879 INFO L290 TraceCheckUtils]: 4: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,880 INFO L290 TraceCheckUtils]: 6: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,883 INFO L290 TraceCheckUtils]: 21: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,884 INFO L290 TraceCheckUtils]: 24: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,884 INFO L290 TraceCheckUtils]: 25: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,885 INFO L290 TraceCheckUtils]: 28: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,885 INFO L290 TraceCheckUtils]: 29: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,887 INFO L290 TraceCheckUtils]: 34: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,887 INFO L290 TraceCheckUtils]: 35: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,887 INFO L290 TraceCheckUtils]: 36: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,888 INFO L290 TraceCheckUtils]: 38: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,888 INFO L290 TraceCheckUtils]: 39: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,888 INFO L290 TraceCheckUtils]: 40: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,888 INFO L290 TraceCheckUtils]: 41: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,889 INFO L290 TraceCheckUtils]: 42: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,889 INFO L290 TraceCheckUtils]: 43: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,889 INFO L290 TraceCheckUtils]: 44: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !(~i~0 < ~n~0); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,889 INFO L290 TraceCheckUtils]: 45: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,890 INFO L290 TraceCheckUtils]: 46: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11764#(<= SelectionSort_~lh~0 4)} is VALID [2022-04-15 05:42:21,890 INFO L290 TraceCheckUtils]: 47: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-15 05:42:21,890 INFO L290 TraceCheckUtils]: 48: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-15 05:42:21,891 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-15 05:42:21,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11758#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:21,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {11758#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {11707#(<= 5 ~n~0)} call #t~ret10 := main(); {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {11707#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,893 INFO L290 TraceCheckUtils]: 6: Hoare triple {11707#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {11707#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {11707#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,894 INFO L290 TraceCheckUtils]: 9: Hoare triple {11707#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,894 INFO L290 TraceCheckUtils]: 10: Hoare triple {11707#(<= 5 ~n~0)} assume !(~i~1 >= 0); {11707#(<= 5 ~n~0)} is VALID [2022-04-15 05:42:21,894 INFO L272 TraceCheckUtils]: 11: Hoare triple {11707#(<= 5 ~n~0)} call SelectionSort(); {11759#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:21,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {11759#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,896 INFO L290 TraceCheckUtils]: 16: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,896 INFO L290 TraceCheckUtils]: 17: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,896 INFO L290 TraceCheckUtils]: 18: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,897 INFO L290 TraceCheckUtils]: 21: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,897 INFO L290 TraceCheckUtils]: 22: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,897 INFO L290 TraceCheckUtils]: 23: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,897 INFO L290 TraceCheckUtils]: 24: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,898 INFO L290 TraceCheckUtils]: 25: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,898 INFO L290 TraceCheckUtils]: 26: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,898 INFO L290 TraceCheckUtils]: 27: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:21,898 INFO L290 TraceCheckUtils]: 28: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,899 INFO L290 TraceCheckUtils]: 29: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,900 INFO L290 TraceCheckUtils]: 33: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,900 INFO L290 TraceCheckUtils]: 34: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,901 INFO L290 TraceCheckUtils]: 38: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,901 INFO L290 TraceCheckUtils]: 39: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,901 INFO L290 TraceCheckUtils]: 40: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-15 05:42:21,901 INFO L290 TraceCheckUtils]: 41: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,902 INFO L290 TraceCheckUtils]: 42: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,902 INFO L290 TraceCheckUtils]: 43: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,902 INFO L290 TraceCheckUtils]: 44: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,902 INFO L290 TraceCheckUtils]: 45: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,903 INFO L290 TraceCheckUtils]: 46: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,903 INFO L290 TraceCheckUtils]: 47: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,903 INFO L290 TraceCheckUtils]: 48: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,903 INFO L290 TraceCheckUtils]: 49: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,903 INFO L290 TraceCheckUtils]: 50: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-15 05:42:21,904 INFO L290 TraceCheckUtils]: 51: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,904 INFO L290 TraceCheckUtils]: 52: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,904 INFO L290 TraceCheckUtils]: 53: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,904 INFO L290 TraceCheckUtils]: 54: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,905 INFO L290 TraceCheckUtils]: 55: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,905 INFO L290 TraceCheckUtils]: 56: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !(~i~0 < ~n~0); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,905 INFO L290 TraceCheckUtils]: 57: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-15 05:42:21,905 INFO L290 TraceCheckUtils]: 58: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11764#(<= SelectionSort_~lh~0 4)} is VALID [2022-04-15 05:42:21,906 INFO L290 TraceCheckUtils]: 59: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-15 05:42:21,906 INFO L290 TraceCheckUtils]: 60: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-15 05:42:21,906 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-15 05:42:21,906 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-15 05:42:21,906 INFO L290 TraceCheckUtils]: 63: Hoare triple {11703#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11703#false} is VALID [2022-04-15 05:42:21,907 INFO L272 TraceCheckUtils]: 64: Hoare triple {11703#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {11703#false} is VALID [2022-04-15 05:42:21,907 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-15 05:42:21,907 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-15 05:42:21,907 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-15 05:42:21,907 INFO L134 CoverageAnalysis]: Checked inductivity of 207 backedges. 0 proven. 163 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-15 05:42:21,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:21,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [133731230] [2022-04-15 05:42:21,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [133731230] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:21,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2014020689] [2022-04-15 05:42:21,907 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:42:21,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:21,908 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:21,908 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:21,909 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-15 05:42:21,986 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:42:21,986 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:21,987 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 05:42:21,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:21,999 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:22,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-15 05:42:22,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {11702#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 5: Hoare triple {11702#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 6: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 7: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 8: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-15 05:42:22,311 INFO L290 TraceCheckUtils]: 12: Hoare triple {11702#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11702#true} is VALID [2022-04-15 05:42:22,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {11702#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,312 INFO L290 TraceCheckUtils]: 14: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,314 INFO L290 TraceCheckUtils]: 19: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,315 INFO L290 TraceCheckUtils]: 24: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,316 INFO L290 TraceCheckUtils]: 26: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,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-15 05:42:22,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-15 05:42:22,317 INFO L290 TraceCheckUtils]: 29: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,317 INFO L290 TraceCheckUtils]: 30: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,317 INFO L290 TraceCheckUtils]: 31: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,317 INFO L290 TraceCheckUtils]: 32: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,318 INFO L290 TraceCheckUtils]: 34: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,318 INFO L290 TraceCheckUtils]: 35: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,318 INFO L290 TraceCheckUtils]: 36: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,319 INFO L290 TraceCheckUtils]: 37: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,319 INFO L290 TraceCheckUtils]: 38: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,319 INFO L290 TraceCheckUtils]: 39: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,320 INFO L290 TraceCheckUtils]: 40: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,320 INFO L290 TraceCheckUtils]: 41: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,320 INFO L290 TraceCheckUtils]: 42: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,320 INFO L290 TraceCheckUtils]: 43: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,321 INFO L290 TraceCheckUtils]: 44: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,321 INFO L290 TraceCheckUtils]: 45: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,321 INFO L290 TraceCheckUtils]: 46: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,321 INFO L290 TraceCheckUtils]: 47: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,322 INFO L290 TraceCheckUtils]: 48: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,322 INFO L290 TraceCheckUtils]: 49: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,322 INFO L290 TraceCheckUtils]: 50: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,323 INFO L290 TraceCheckUtils]: 51: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,323 INFO L290 TraceCheckUtils]: 52: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,323 INFO L290 TraceCheckUtils]: 53: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,323 INFO L290 TraceCheckUtils]: 54: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,324 INFO L290 TraceCheckUtils]: 55: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,324 INFO L290 TraceCheckUtils]: 56: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,324 INFO L290 TraceCheckUtils]: 57: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 58: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11951#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 63: Hoare triple {11703#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L272 TraceCheckUtils]: 64: Hoare triple {11703#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-15 05:42:22,325 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-15 05:42:22,326 INFO L134 CoverageAnalysis]: Checked inductivity of 207 backedges. 16 proven. 169 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-15 05:42:22,326 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:22,575 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-15 05:42:22,575 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-15 05:42:22,575 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-15 05:42:22,575 INFO L272 TraceCheckUtils]: 64: Hoare triple {11703#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {11703#false} is VALID [2022-04-15 05:42:22,575 INFO L290 TraceCheckUtils]: 63: Hoare triple {11703#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11703#false} is VALID [2022-04-15 05:42:22,575 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-15 05:42:22,575 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-15 05:42:22,575 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-15 05:42:22,576 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-15 05:42:22,576 INFO L290 TraceCheckUtils]: 58: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11951#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-15 05:42:22,576 INFO L290 TraceCheckUtils]: 57: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,577 INFO L290 TraceCheckUtils]: 56: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,577 INFO L290 TraceCheckUtils]: 55: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,577 INFO L290 TraceCheckUtils]: 54: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,577 INFO L290 TraceCheckUtils]: 53: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,578 INFO L290 TraceCheckUtils]: 52: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,578 INFO L290 TraceCheckUtils]: 51: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-15 05:42:22,578 INFO L290 TraceCheckUtils]: 50: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,579 INFO L290 TraceCheckUtils]: 49: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,579 INFO L290 TraceCheckUtils]: 48: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,579 INFO L290 TraceCheckUtils]: 47: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,579 INFO L290 TraceCheckUtils]: 46: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,580 INFO L290 TraceCheckUtils]: 45: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,580 INFO L290 TraceCheckUtils]: 44: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,580 INFO L290 TraceCheckUtils]: 43: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,581 INFO L290 TraceCheckUtils]: 42: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,581 INFO L290 TraceCheckUtils]: 41: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-15 05:42:22,581 INFO L290 TraceCheckUtils]: 40: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,598 INFO L290 TraceCheckUtils]: 39: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,598 INFO L290 TraceCheckUtils]: 38: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,599 INFO L290 TraceCheckUtils]: 36: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,599 INFO L290 TraceCheckUtils]: 35: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,599 INFO L290 TraceCheckUtils]: 34: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,599 INFO L290 TraceCheckUtils]: 33: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,600 INFO L290 TraceCheckUtils]: 32: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,600 INFO L290 TraceCheckUtils]: 31: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,600 INFO L290 TraceCheckUtils]: 30: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,600 INFO L290 TraceCheckUtils]: 29: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,601 INFO L290 TraceCheckUtils]: 28: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-15 05:42:22,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,601 INFO L290 TraceCheckUtils]: 26: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-15 05:42:22,603 INFO L290 TraceCheckUtils]: 22: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,603 INFO L290 TraceCheckUtils]: 21: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {11702#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {11702#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {11702#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-15 05:42:22,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-15 05:42:22,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {11702#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11702#true} is VALID [2022-04-15 05:42:22,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-15 05:42:22,607 INFO L134 CoverageAnalysis]: Checked inductivity of 207 backedges. 16 proven. 169 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-15 05:42:22,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2014020689] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:22,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:22,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-15 05:42:22,607 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:22,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1552880467] [2022-04-15 05:42:22,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1552880467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:22,607 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:22,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 05:42:22,608 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [130497588] [2022-04-15 05:42:22,608 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:22,608 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 68 [2022-04-15 05:42:22,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:22,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:22,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:22,637 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 05:42:22,637 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:22,638 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 05:42:22,638 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-15 05:42:22,638 INFO L87 Difference]: Start difference. First operand 77 states and 94 transitions. Second operand has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:23,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:23,241 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-15 05:42:23,241 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 05:42:23,241 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 68 [2022-04-15 05:42:23,241 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:23,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:23,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-15 05:42:23,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:23,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-15 05:42:23,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 88 transitions. [2022-04-15 05:42:23,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:23,312 INFO L225 Difference]: With dead ends: 104 [2022-04-15 05:42:23,312 INFO L226 Difference]: Without dead ends: 91 [2022-04-15 05:42:23,312 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-15 05:42:23,313 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-15 05:42:23,313 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-15 05:42:23,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-15 05:42:23,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-15 05:42:23,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:23,468 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:23,468 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:23,468 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:23,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:23,470 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-15 05:42:23,470 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-15 05:42:23,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:23,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:23,470 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 91 states. [2022-04-15 05:42:23,470 INFO L87 Difference]: Start difference. First operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 91 states. [2022-04-15 05:42:23,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:23,471 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-15 05:42:23,471 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-15 05:42:23,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:23,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:23,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:23,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:23,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:23,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 102 transitions. [2022-04-15 05:42:23,472 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 102 transitions. Word has length 68 [2022-04-15 05:42:23,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:23,473 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 102 transitions. [2022-04-15 05:42:23,473 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:23,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 102 transitions. [2022-04-15 05:42:23,621 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:23,621 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 102 transitions. [2022-04-15 05:42:23,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 05:42:23,621 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:23,621 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:23,639 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:23,838 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:23,838 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:23,838 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:23,838 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 29 times [2022-04-15 05:42:23,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:23,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2017250102] [2022-04-15 05:42:23,842 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:23,842 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:23,842 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:23,842 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 30 times [2022-04-15 05:42:23,842 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:23,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [597055906] [2022-04-15 05:42:23,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:23,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:23,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:23,891 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:23,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:23,894 INFO L290 TraceCheckUtils]: 0: Hoare triple {12820#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-15 05:42:23,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 05:42:23,894 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 05:42:23,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 05:42:23,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:23,915 INFO L290 TraceCheckUtils]: 0: Hoare triple {12821#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12758#true} is VALID [2022-04-15 05:42:23,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 3: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 4: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 6: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 10: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 12: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 13: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 15: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,916 INFO L290 TraceCheckUtils]: 16: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 17: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 18: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 19: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 20: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 21: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 22: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 23: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 24: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 25: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 28: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 29: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,917 INFO L290 TraceCheckUtils]: 30: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 31: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 32: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 33: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 34: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 38: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 40: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 41: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 42: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 43: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,918 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 45: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 46: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 47: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 50: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 05:42:23,919 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 05:42:23,920 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12820#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:23,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {12820#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-15 05:42:23,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 05:42:23,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 05:42:23,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-15 05:42:23,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {12763#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:23,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {12763#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12763#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:23,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {12763#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12764#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:23,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {12764#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12764#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:23,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {12764#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12765#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:23,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-15 05:42:23,922 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12821#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:23,922 INFO L290 TraceCheckUtils]: 12: Hoare triple {12821#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12758#true} is VALID [2022-04-15 05:42:23,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,922 INFO L290 TraceCheckUtils]: 16: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 17: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 18: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 19: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 20: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 21: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 22: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 23: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 24: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 25: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 29: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,923 INFO L290 TraceCheckUtils]: 30: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 31: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 32: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 33: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 34: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 35: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 36: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 38: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 40: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 41: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 42: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 43: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,924 INFO L290 TraceCheckUtils]: 45: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 46: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 47: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 50: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 53: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 54: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 55: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 57: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 58: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 59: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:23,925 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 61: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 62: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 05:42:23,926 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 67: Hoare triple {12759#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12759#false} is VALID [2022-04-15 05:42:23,926 INFO L272 TraceCheckUtils]: 68: Hoare triple {12759#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {12759#false} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-15 05:42:23,926 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-15 05:42:23,926 INFO L134 CoverageAnalysis]: Checked inductivity of 234 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-15 05:42:23,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:23,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [597055906] [2022-04-15 05:42:23,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [597055906] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:23,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1082731377] [2022-04-15 05:42:23,927 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:42:23,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:23,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:23,928 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:23,929 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-15 05:42:24,014 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 05:42:24,014 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:24,015 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 05:42:24,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:24,027 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:24,148 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-15 05:42:24,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-15 05:42:24,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 05:42:24,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 05:42:24,149 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-15 05:42:24,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {12763#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:24,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {12763#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12763#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:24,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {12763#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12764#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:24,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {12764#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12764#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:24,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {12764#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12765#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {12759#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 15: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 19: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 22: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 23: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 24: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 27: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 28: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 29: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 32: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 33: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 34: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 35: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 36: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 37: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 38: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 39: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 40: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 41: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-15 05:42:24,154 INFO L290 TraceCheckUtils]: 42: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 43: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 44: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 45: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 46: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 47: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 48: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 49: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 50: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 51: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 52: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-15 05:42:24,155 INFO L290 TraceCheckUtils]: 53: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 54: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 55: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 56: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 57: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 58: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 59: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 60: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 61: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 62: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-15 05:42:24,156 INFO L290 TraceCheckUtils]: 63: Hoare triple {12759#false} assume !(~lh~0 < ~n~0); {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L290 TraceCheckUtils]: 64: Hoare triple {12759#false} assume true; {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12759#false} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L290 TraceCheckUtils]: 67: Hoare triple {12759#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L272 TraceCheckUtils]: 68: Hoare triple {12759#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-15 05:42:24,157 INFO L134 CoverageAnalysis]: Checked inductivity of 234 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-15 05:42:24,158 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-15 05:42:24,289 INFO L272 TraceCheckUtils]: 68: Hoare triple {12759#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {12759#false} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 67: Hoare triple {12759#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12759#false} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-15 05:42:24,289 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 62: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:24,289 INFO L290 TraceCheckUtils]: 61: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 59: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 58: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 57: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 55: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 54: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 53: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 50: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:24,290 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 47: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 46: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 45: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 43: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 42: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 41: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 38: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 36: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 35: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 34: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,291 INFO L290 TraceCheckUtils]: 33: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 32: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 30: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 29: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 28: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 22: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 21: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 16: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {12758#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12758#true} is VALID [2022-04-15 05:42:24,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {13221#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-15 05:42:24,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {13225#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13221#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:24,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {13225#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13225#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:24,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {12765#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13225#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:24,295 INFO L290 TraceCheckUtils]: 6: Hoare triple {12765#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12765#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:24,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {12765#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:24,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-15 05:42:24,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 05:42:24,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 05:42:24,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-15 05:42:24,295 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-15 05:42:24,296 INFO L134 CoverageAnalysis]: Checked inductivity of 234 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-15 05:42:24,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1082731377] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:24,296 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:24,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 9 [2022-04-15 05:42:24,297 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:24,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2017250102] [2022-04-15 05:42:24,297 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2017250102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:24,297 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:24,297 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 05:42:24,297 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1312060928] [2022-04-15 05:42:24,298 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:24,298 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 72 [2022-04-15 05:42:24,298 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:24,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:24,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:24,314 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 05:42:24,314 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:24,314 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 05:42:24,314 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-15 05:42:24,314 INFO L87 Difference]: Start difference. First operand 83 states and 102 transitions. Second operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:24,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:24,752 INFO L93 Difference]: Finished difference Result 158 states and 196 transitions. [2022-04-15 05:42:24,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 05:42:24,752 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 72 [2022-04-15 05:42:24,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:24,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:24,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-15 05:42:24,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:24,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-15 05:42:24,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-04-15 05:42:24,819 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:24,820 INFO L225 Difference]: With dead ends: 158 [2022-04-15 05:42:24,820 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 05:42:24,821 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 158 GetRequests, 146 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2022-04-15 05:42:24,821 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 48 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:24,822 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 27 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 05:42:24,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 05:42:24,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 85. [2022-04-15 05:42:24,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:24,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:24,987 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:24,988 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:24,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:24,989 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-15 05:42:24,989 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-15 05:42:24,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:24,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:24,989 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 86 states. [2022-04-15 05:42:24,989 INFO L87 Difference]: Start difference. First operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 86 states. [2022-04-15 05:42:24,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:24,990 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-15 05:42:24,990 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-15 05:42:24,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:24,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:24,991 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:24,991 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:24,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:24,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 104 transitions. [2022-04-15 05:42:24,992 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 104 transitions. Word has length 72 [2022-04-15 05:42:24,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:24,992 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 104 transitions. [2022-04-15 05:42:24,992 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:24,992 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 104 transitions. [2022-04-15 05:42:25,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:25,145 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 104 transitions. [2022-04-15 05:42:25,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 05:42:25,145 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:25,145 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:25,161 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-15 05:42:25,346 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:25,346 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:25,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:25,346 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 31 times [2022-04-15 05:42:25,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:25,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1509641964] [2022-04-15 05:42:25,349 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:25,349 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:25,349 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:25,349 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 32 times [2022-04-15 05:42:25,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:25,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1894679290] [2022-04-15 05:42:25,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:25,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:25,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:25,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:25,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:25,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {13987#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-15 05:42:25,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 05:42:25,404 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 05:42:25,407 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-15 05:42:25,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:25,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {13988#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13924#true} is VALID [2022-04-15 05:42:25,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 6: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 8: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 10: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 20: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 21: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 22: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 23: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 24: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 29: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 30: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 33: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 34: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 38: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 39: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 40: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 42: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,429 INFO L290 TraceCheckUtils]: 45: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L290 TraceCheckUtils]: 46: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L290 TraceCheckUtils]: 47: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L290 TraceCheckUtils]: 49: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L290 TraceCheckUtils]: 50: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 05:42:25,430 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 05:42:25,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13987#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:25,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {13987#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-15 05:42:25,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 05:42:25,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 05:42:25,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-15 05:42:25,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {13929#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:25,432 INFO L290 TraceCheckUtils]: 6: Hoare triple {13929#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13929#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:25,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {13929#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13930#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:25,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {13930#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13930#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:25,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {13930#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13931#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:25,433 INFO L290 TraceCheckUtils]: 10: Hoare triple {13931#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13931#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {13931#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13932#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-15 05:42:25,434 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13988#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 14: Hoare triple {13988#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13924#true} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 16: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 17: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 18: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 19: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 21: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 22: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 23: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 24: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 26: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 29: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 30: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 31: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 32: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 33: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 34: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,435 INFO L290 TraceCheckUtils]: 35: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 36: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 38: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 39: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 40: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 42: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 43: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 45: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 46: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 47: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 49: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,436 INFO L290 TraceCheckUtils]: 50: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 53: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 54: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 55: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 56: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 57: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 59: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 60: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 61: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 63: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 64: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,437 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,438 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 05:42:25,438 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 05:42:25,438 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-15 05:42:25,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-15 05:42:25,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-15 05:42:25,438 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-15 05:42:25,438 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-15 05:42:25,438 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-15 05:42:25,438 INFO L134 CoverageAnalysis]: Checked inductivity of 239 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-15 05:42:25,438 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:25,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1894679290] [2022-04-15 05:42:25,439 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1894679290] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:25,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1815772871] [2022-04-15 05:42:25,439 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:42:25,439 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:25,439 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:25,440 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:25,442 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-15 05:42:25,536 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:42:25,536 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:25,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 309 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 05:42:25,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:25,550 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:25,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-15 05:42:25,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-15 05:42:25,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 05:42:25,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 05:42:25,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-15 05:42:25,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {13929#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:25,705 INFO L290 TraceCheckUtils]: 6: Hoare triple {13929#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13929#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:25,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {13929#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13930#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:25,705 INFO L290 TraceCheckUtils]: 8: Hoare triple {13930#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13930#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:25,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {13930#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13931#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:25,706 INFO L290 TraceCheckUtils]: 10: Hoare triple {13931#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13931#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:25,706 INFO L290 TraceCheckUtils]: 11: Hoare triple {13931#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13932#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {13925#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 16: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 21: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 22: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,707 INFO L290 TraceCheckUtils]: 23: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 25: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 26: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 27: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 28: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 29: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 32: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 33: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 34: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,708 INFO L290 TraceCheckUtils]: 37: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 38: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 39: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 40: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 41: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 42: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 43: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 44: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 45: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 46: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 47: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 48: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 49: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 50: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,709 INFO L290 TraceCheckUtils]: 51: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 52: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 53: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 54: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 55: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 56: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 57: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 58: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 59: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 60: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 61: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 62: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 63: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 64: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 65: Hoare triple {13925#false} assume !(~lh~0 < ~n~0); {13925#false} is VALID [2022-04-15 05:42:25,710 INFO L290 TraceCheckUtils]: 66: Hoare triple {13925#false} assume true; {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13925#false} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L290 TraceCheckUtils]: 69: Hoare triple {13925#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L272 TraceCheckUtils]: 70: Hoare triple {13925#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-15 05:42:25,711 INFO L134 CoverageAnalysis]: Checked inductivity of 239 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-15 05:42:25,711 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:25,849 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-15 05:42:25,850 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-15 05:42:25,850 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-15 05:42:25,850 INFO L272 TraceCheckUtils]: 70: Hoare triple {13925#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {13925#false} is VALID [2022-04-15 05:42:25,850 INFO L290 TraceCheckUtils]: 69: Hoare triple {13925#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13925#false} is VALID [2022-04-15 05:42:25,850 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-15 05:42:25,850 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 05:42:25,850 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 05:42:25,850 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 64: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 63: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 61: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 60: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 59: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 56: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 55: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,851 INFO L290 TraceCheckUtils]: 54: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 53: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 50: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 49: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 47: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 46: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 45: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 43: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 42: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,852 INFO L290 TraceCheckUtils]: 40: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 39: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 38: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 36: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 35: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 34: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 33: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 32: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 05:42:25,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 26: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 25: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 24: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 21: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 17: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 16: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-15 05:42:25,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {13924#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13924#true} is VALID [2022-04-15 05:42:25,855 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13924#true} is VALID [2022-04-15 05:42:25,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {14394#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-15 05:42:25,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {13932#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {14394#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:25,855 INFO L290 TraceCheckUtils]: 10: Hoare triple {13932#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13932#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:25,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {13931#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13932#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:25,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {13931#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13931#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:25,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {13930#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13931#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:25,857 INFO L290 TraceCheckUtils]: 6: Hoare triple {13930#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13930#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:25,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {13930#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:25,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-15 05:42:25,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 05:42:25,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 05:42:25,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-15 05:42:25,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-15 05:42:25,858 INFO L134 CoverageAnalysis]: Checked inductivity of 239 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-15 05:42:25,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1815772871] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:25,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:25,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 9 [2022-04-15 05:42:25,858 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:25,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1509641964] [2022-04-15 05:42:25,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1509641964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:25,858 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:25,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 05:42:25,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [960314334] [2022-04-15 05:42:25,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:25,859 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 74 [2022-04-15 05:42:25,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:25,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:25,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:25,879 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 05:42:25,879 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:25,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 05:42:25,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-15 05:42:25,880 INFO L87 Difference]: Start difference. First operand 85 states and 104 transitions. Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:26,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:26,298 INFO L93 Difference]: Finished difference Result 160 states and 198 transitions. [2022-04-15 05:42:26,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 05:42:26,299 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 74 [2022-04-15 05:42:26,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:26,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:26,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-15 05:42:26,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:26,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-15 05:42:26,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 73 transitions. [2022-04-15 05:42:26,378 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:26,379 INFO L225 Difference]: With dead ends: 160 [2022-04-15 05:42:26,379 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 05:42:26,379 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 164 GetRequests, 151 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2022-04-15 05:42:26,380 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 50 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 114 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:26,380 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 27 Invalid, 114 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 05:42:26,380 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 05:42:26,548 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-15 05:42:26,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:26,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:26,548 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:26,548 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:26,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:26,549 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-15 05:42:26,550 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-15 05:42:26,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:26,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:26,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 88 states. [2022-04-15 05:42:26,550 INFO L87 Difference]: Start difference. First operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 88 states. [2022-04-15 05:42:26,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:26,551 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-15 05:42:26,551 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-15 05:42:26,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:26,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:26,551 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:26,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:26,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:26,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 106 transitions. [2022-04-15 05:42:26,553 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 106 transitions. Word has length 74 [2022-04-15 05:42:26,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:26,553 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 106 transitions. [2022-04-15 05:42:26,553 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:26,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 106 transitions. [2022-04-15 05:42:26,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:26,697 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 106 transitions. [2022-04-15 05:42:26,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-15 05:42:26,698 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:26,698 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:26,714 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:26,911 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:26,911 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:26,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:26,912 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 33 times [2022-04-15 05:42:26,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:26,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [75901291] [2022-04-15 05:42:26,915 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:26,915 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:26,915 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:26,915 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 34 times [2022-04-15 05:42:26,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:26,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [864574186] [2022-04-15 05:42:26,915 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:26,915 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:26,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:26,995 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:26,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:26,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {15180#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-15 05:42:26,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 05:42:26,998 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 05:42:27,002 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-15 05:42:27,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:27,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {15181#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 3: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 4: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 6: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 8: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 9: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 10: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 11: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 12: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,021 INFO L290 TraceCheckUtils]: 13: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 16: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 17: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 18: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 19: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 21: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 24: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 26: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 28: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 29: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 31: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 35: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 36: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 37: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 38: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 39: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 40: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,023 INFO L290 TraceCheckUtils]: 41: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 42: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 43: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 44: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 45: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 46: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 47: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 48: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 49: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 50: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 51: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L290 TraceCheckUtils]: 52: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 05:42:27,024 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-15 05:42:27,025 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15180#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:27,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {15180#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-15 05:42:27,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 05:42:27,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 05:42:27,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-15 05:42:27,026 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {15121#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:27,026 INFO L290 TraceCheckUtils]: 6: Hoare triple {15121#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15121#(<= 4 main_~i~1)} is VALID [2022-04-15 05:42:27,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {15121#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15122#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:27,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {15122#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15122#(<= 3 main_~i~1)} is VALID [2022-04-15 05:42:27,027 INFO L290 TraceCheckUtils]: 9: Hoare triple {15122#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15123#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:27,027 INFO L290 TraceCheckUtils]: 10: Hoare triple {15123#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15123#(<= 2 main_~i~1)} is VALID [2022-04-15 05:42:27,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {15123#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15124#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:27,028 INFO L290 TraceCheckUtils]: 12: Hoare triple {15124#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15124#(<= 1 main_~i~1)} is VALID [2022-04-15 05:42:27,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {15124#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15125#(<= 0 main_~i~1)} is VALID [2022-04-15 05:42:27,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {15125#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {15117#false} is VALID [2022-04-15 05:42:27,028 INFO L272 TraceCheckUtils]: 15: Hoare triple {15117#false} call SelectionSort(); {15181#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:27,028 INFO L290 TraceCheckUtils]: 16: Hoare triple {15181#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15116#true} is VALID [2022-04-15 05:42:27,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 24: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 25: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 28: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 29: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,029 INFO L290 TraceCheckUtils]: 31: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 32: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 33: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 34: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 35: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 36: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 37: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 38: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 39: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 40: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 41: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 42: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 43: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 44: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 45: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,030 INFO L290 TraceCheckUtils]: 46: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 47: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 48: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 49: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 50: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 51: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 52: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 53: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 54: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 55: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 56: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 57: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 58: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:27,031 INFO L290 TraceCheckUtils]: 59: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 60: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 61: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 62: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 63: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 64: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 65: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 66: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 67: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 68: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 05:42:27,032 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 71: Hoare triple {15117#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15117#false} is VALID [2022-04-15 05:42:27,032 INFO L272 TraceCheckUtils]: 72: Hoare triple {15117#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {15117#false} is VALID [2022-04-15 05:42:27,032 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-15 05:42:27,033 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-15 05:42:27,033 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-15 05:42:27,033 INFO L134 CoverageAnalysis]: Checked inductivity of 246 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-15 05:42:27,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:27,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [864574186] [2022-04-15 05:42:27,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [864574186] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:27,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [289030732] [2022-04-15 05:42:27,034 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:42:27,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:27,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:27,035 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:27,067 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-15 05:42:27,139 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:42:27,139 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:27,142 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 05:42:27,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:27,160 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:27,848 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-15 05:42:27,849 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 7 case distinctions, treesize of input 76 treesize of output 57 [2022-04-15 05:42:28,095 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-15 05:42:28,095 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 49 treesize of output 13 [2022-04-15 05:42:28,178 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 6: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 7: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:28,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:28,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:28,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:28,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:28,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-15 05:42:28,179 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-15 05:42:28,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {15116#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:28,180 INFO L290 TraceCheckUtils]: 17: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:28,180 INFO L290 TraceCheckUtils]: 18: Hoare triple {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:28,180 INFO L290 TraceCheckUtils]: 19: Hoare triple {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:28,181 INFO L290 TraceCheckUtils]: 20: Hoare triple {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:28,181 INFO L290 TraceCheckUtils]: 21: Hoare triple {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:28,182 INFO L290 TraceCheckUtils]: 22: Hoare triple {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:28,182 INFO L290 TraceCheckUtils]: 23: Hoare triple {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:28,182 INFO L290 TraceCheckUtils]: 24: Hoare triple {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:28,183 INFO L290 TraceCheckUtils]: 25: Hoare triple {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:28,183 INFO L290 TraceCheckUtils]: 26: Hoare triple {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:28,183 INFO L290 TraceCheckUtils]: 27: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:28,184 INFO L290 TraceCheckUtils]: 28: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:28,184 INFO L290 TraceCheckUtils]: 29: Hoare triple {15233#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:28,184 INFO L290 TraceCheckUtils]: 30: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:28,185 INFO L290 TraceCheckUtils]: 31: Hoare triple {15233#(= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:28,185 INFO L290 TraceCheckUtils]: 32: Hoare triple {15233#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15285#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-15 05:42:28,185 INFO L290 TraceCheckUtils]: 33: Hoare triple {15285#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15289#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-15 05:42:28,186 INFO L290 TraceCheckUtils]: 34: Hoare triple {15289#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15293#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:42:28,186 INFO L290 TraceCheckUtils]: 35: Hoare triple {15293#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15297#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:28,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {15297#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15301#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:42:28,188 INFO L290 TraceCheckUtils]: 37: Hoare triple {15301#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15305#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:42:28,189 INFO L290 TraceCheckUtils]: 38: Hoare triple {15305#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15309#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:28,189 INFO L290 TraceCheckUtils]: 39: Hoare triple {15309#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} is VALID [2022-04-15 05:42:28,190 INFO L290 TraceCheckUtils]: 40: Hoare triple {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} is VALID [2022-04-15 05:42:28,190 INFO L290 TraceCheckUtils]: 41: Hoare triple {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:28,191 INFO L290 TraceCheckUtils]: 42: Hoare triple {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:28,192 INFO L290 TraceCheckUtils]: 43: Hoare triple {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:28,193 INFO L290 TraceCheckUtils]: 44: Hoare triple {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15330#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:28,194 INFO L290 TraceCheckUtils]: 45: Hoare triple {15330#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15334#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:42:28,194 INFO L290 TraceCheckUtils]: 46: Hoare triple {15334#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:42:28,195 INFO L290 TraceCheckUtils]: 47: Hoare triple {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:42:28,195 INFO L290 TraceCheckUtils]: 48: Hoare triple {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15345#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:42:28,196 INFO L290 TraceCheckUtils]: 49: Hoare triple {15345#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15349#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))) (= SelectionSort_~i~0 4))} is VALID [2022-04-15 05:42:28,196 INFO L290 TraceCheckUtils]: 50: Hoare triple {15349#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))) (= SelectionSort_~i~0 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15353#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 51: Hoare triple {15353#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 52: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 54: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 55: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 56: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 57: Hoare triple {15117#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 58: Hoare triple {15117#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 59: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:28,197 INFO L290 TraceCheckUtils]: 61: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 62: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 63: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 65: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 66: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 71: Hoare triple {15117#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L272 TraceCheckUtils]: 72: Hoare triple {15117#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-15 05:42:28,198 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-15 05:42:28,199 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-15 05:42:28,199 INFO L134 CoverageAnalysis]: Checked inductivity of 246 backedges. 90 proven. 123 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-04-15 05:42:28,199 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:30,142 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 88 [2022-04-15 05:42:30,327 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-15 05:42:30,328 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1050 treesize of output 1045 [2022-04-15 05:42:32,173 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-15 05:42:32,173 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-15 05:42:32,173 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-15 05:42:32,173 INFO L272 TraceCheckUtils]: 72: Hoare triple {15117#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {15117#false} is VALID [2022-04-15 05:42:32,173 INFO L290 TraceCheckUtils]: 71: Hoare triple {15117#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15117#false} is VALID [2022-04-15 05:42:32,173 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-15 05:42:32,173 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-15 05:42:32,173 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 66: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 65: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 63: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 62: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 61: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 59: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 58: Hoare triple {15117#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 57: Hoare triple {15117#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 56: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 55: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-15 05:42:32,174 INFO L290 TraceCheckUtils]: 54: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-15 05:42:32,175 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 05:42:32,175 INFO L290 TraceCheckUtils]: 52: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-15 05:42:32,175 INFO L290 TraceCheckUtils]: 51: Hoare triple {15504#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-15 05:42:32,175 INFO L290 TraceCheckUtils]: 50: Hoare triple {15508#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15504#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-15 05:42:32,176 INFO L290 TraceCheckUtils]: 49: Hoare triple {15512#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15508#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:32,177 INFO L290 TraceCheckUtils]: 48: Hoare triple {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15512#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:32,177 INFO L290 TraceCheckUtils]: 47: Hoare triple {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:32,178 INFO L290 TraceCheckUtils]: 46: Hoare triple {15523#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:32,179 INFO L290 TraceCheckUtils]: 45: Hoare triple {15527#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15523#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:32,180 INFO L290 TraceCheckUtils]: 44: Hoare triple {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15527#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:32,181 INFO L290 TraceCheckUtils]: 43: Hoare triple {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:32,181 INFO L290 TraceCheckUtils]: 42: Hoare triple {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:32,182 INFO L290 TraceCheckUtils]: 41: Hoare triple {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:32,183 INFO L290 TraceCheckUtils]: 40: Hoare triple {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:32,186 INFO L290 TraceCheckUtils]: 39: Hoare triple {15548#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:32,187 INFO L290 TraceCheckUtils]: 38: Hoare triple {15552#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15548#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:32,188 INFO L290 TraceCheckUtils]: 37: Hoare triple {15556#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15552#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-15 05:42:32,193 INFO L290 TraceCheckUtils]: 36: Hoare triple {15560#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15556#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:32,195 INFO L290 TraceCheckUtils]: 35: Hoare triple {15564#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15560#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:42:32,198 INFO L290 TraceCheckUtils]: 34: Hoare triple {15568#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15564#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:42:32,199 INFO L290 TraceCheckUtils]: 33: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15568#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:42:32,199 INFO L290 TraceCheckUtils]: 32: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-15 05:42:32,199 INFO L290 TraceCheckUtils]: 31: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 29: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 28: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 22: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 21: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:32,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 19: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {15116#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 12: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 10: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:32,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-15 05:42:32,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-15 05:42:32,203 INFO L134 CoverageAnalysis]: Checked inductivity of 246 backedges. 165 proven. 26 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-04-15 05:42:32,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [289030732] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:32,203 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:32,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 21, 16] total 42 [2022-04-15 05:42:32,204 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:32,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [75901291] [2022-04-15 05:42:32,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [75901291] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:32,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:32,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 05:42:32,204 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [793697003] [2022-04-15 05:42:32,204 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:32,204 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 76 [2022-04-15 05:42:32,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:32,205 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:32,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:32,228 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 05:42:32,228 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:32,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 05:42:32,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1580, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 05:42:32,232 INFO L87 Difference]: Start difference. First operand 87 states and 106 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:32,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:32,942 INFO L93 Difference]: Finished difference Result 177 states and 219 transitions. [2022-04-15 05:42:32,943 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 05:42:32,943 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 76 [2022-04-15 05:42:32,943 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:32,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:32,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-15 05:42:32,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:32,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-15 05:42:32,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 94 transitions. [2022-04-15 05:42:33,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:33,028 INFO L225 Difference]: With dead ends: 177 [2022-04-15 05:42:33,028 INFO L226 Difference]: Without dead ends: 105 [2022-04-15 05:42:33,029 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 123 SyntacticMatches, 0 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 607 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=201, Invalid=2151, Unknown=0, NotChecked=0, Total=2352 [2022-04-15 05:42:33,030 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 60 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:33,030 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 33 Invalid, 189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 05:42:33,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-15 05:42:33,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 89. [2022-04-15 05:42:33,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:33,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:33,204 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:33,204 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:33,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:33,206 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-15 05:42:33,206 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-15 05:42:33,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:33,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:33,206 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 105 states. [2022-04-15 05:42:33,206 INFO L87 Difference]: Start difference. First operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 105 states. [2022-04-15 05:42:33,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:33,208 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-15 05:42:33,208 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-15 05:42:33,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:33,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:33,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:33,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:33,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:33,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 108 transitions. [2022-04-15 05:42:33,209 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 108 transitions. Word has length 76 [2022-04-15 05:42:33,209 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:33,209 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 108 transitions. [2022-04-15 05:42:33,209 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:33,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 108 transitions. [2022-04-15 05:42:33,355 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:33,355 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-15 05:42:33,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-15 05:42:33,355 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:33,356 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:33,374 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:33,579 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-15 05:42:33,579 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:33,579 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:33,580 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 35 times [2022-04-15 05:42:33,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:33,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1541956768] [2022-04-15 05:42:33,582 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:33,582 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:33,582 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:33,582 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 36 times [2022-04-15 05:42:33,582 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:33,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1281381395] [2022-04-15 05:42:33,583 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:33,583 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:33,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:33,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:33,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:33,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {16499#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:33,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:33,917 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {16427#true} #95#return; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:33,925 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:42:33,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:33,977 INFO L290 TraceCheckUtils]: 0: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,978 INFO L290 TraceCheckUtils]: 3: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,978 INFO L290 TraceCheckUtils]: 4: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,979 INFO L290 TraceCheckUtils]: 5: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,979 INFO L290 TraceCheckUtils]: 6: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,979 INFO L290 TraceCheckUtils]: 7: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,980 INFO L290 TraceCheckUtils]: 10: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,982 INFO L290 TraceCheckUtils]: 14: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:33,982 INFO L290 TraceCheckUtils]: 15: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,983 INFO L290 TraceCheckUtils]: 16: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,983 INFO L290 TraceCheckUtils]: 17: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,983 INFO L290 TraceCheckUtils]: 18: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,984 INFO L290 TraceCheckUtils]: 22: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,984 INFO L290 TraceCheckUtils]: 23: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,985 INFO L290 TraceCheckUtils]: 24: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,985 INFO L290 TraceCheckUtils]: 25: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,985 INFO L290 TraceCheckUtils]: 26: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,985 INFO L290 TraceCheckUtils]: 27: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,986 INFO L290 TraceCheckUtils]: 28: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,986 INFO L290 TraceCheckUtils]: 29: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,987 INFO L290 TraceCheckUtils]: 31: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,987 INFO L290 TraceCheckUtils]: 32: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,987 INFO L290 TraceCheckUtils]: 34: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,988 INFO L290 TraceCheckUtils]: 37: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,989 INFO L290 TraceCheckUtils]: 41: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,990 INFO L290 TraceCheckUtils]: 42: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,990 INFO L290 TraceCheckUtils]: 43: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,990 INFO L290 TraceCheckUtils]: 44: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,991 INFO L290 TraceCheckUtils]: 45: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,991 INFO L290 TraceCheckUtils]: 46: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,991 INFO L290 TraceCheckUtils]: 47: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,992 INFO L290 TraceCheckUtils]: 48: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,992 INFO L290 TraceCheckUtils]: 49: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,992 INFO L290 TraceCheckUtils]: 50: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,993 INFO L290 TraceCheckUtils]: 51: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,993 INFO L290 TraceCheckUtils]: 52: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:33,993 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} #91#return; {16494#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-15 05:42:33,994 INFO L272 TraceCheckUtils]: 0: Hoare triple {16427#true} call ULTIMATE.init(); {16499#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:33,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {16499#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:33,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:33,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {16427#true} #95#return; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:33,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:33,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} is VALID [2022-04-15 05:42:33,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} is VALID [2022-04-15 05:42:33,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} is VALID [2022-04-15 05:42:33,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} is VALID [2022-04-15 05:42:33,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} is VALID [2022-04-15 05:42:33,998 INFO L290 TraceCheckUtils]: 10: Hoare triple {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} is VALID [2022-04-15 05:42:33,998 INFO L290 TraceCheckUtils]: 11: Hoare triple {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} is VALID [2022-04-15 05:42:33,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} is VALID [2022-04-15 05:42:33,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16437#(and (or (and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|))) (not (= main_~i~1 0))) (<= main_~i~1 0))} is VALID [2022-04-15 05:42:34,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {16437#(and (or (and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|))) (not (= main_~i~1 0))) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16438#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-15 05:42:34,000 INFO L290 TraceCheckUtils]: 15: Hoare triple {16438#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-15 05:42:34,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} assume !(~i~1 >= 0); {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-15 05:42:34,001 INFO L272 TraceCheckUtils]: 17: Hoare triple {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} call SelectionSort(); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,002 INFO L290 TraceCheckUtils]: 20: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,002 INFO L290 TraceCheckUtils]: 21: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,003 INFO L290 TraceCheckUtils]: 22: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,003 INFO L290 TraceCheckUtils]: 23: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,003 INFO L290 TraceCheckUtils]: 24: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,004 INFO L290 TraceCheckUtils]: 26: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,004 INFO L290 TraceCheckUtils]: 27: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,004 INFO L290 TraceCheckUtils]: 28: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,005 INFO L290 TraceCheckUtils]: 29: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,005 INFO L290 TraceCheckUtils]: 31: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:34,006 INFO L290 TraceCheckUtils]: 33: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,006 INFO L290 TraceCheckUtils]: 34: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,007 INFO L290 TraceCheckUtils]: 38: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,008 INFO L290 TraceCheckUtils]: 41: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,008 INFO L290 TraceCheckUtils]: 42: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,009 INFO L290 TraceCheckUtils]: 43: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,009 INFO L290 TraceCheckUtils]: 44: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,009 INFO L290 TraceCheckUtils]: 45: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,010 INFO L290 TraceCheckUtils]: 46: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,010 INFO L290 TraceCheckUtils]: 47: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,010 INFO L290 TraceCheckUtils]: 48: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,010 INFO L290 TraceCheckUtils]: 49: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,011 INFO L290 TraceCheckUtils]: 50: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,011 INFO L290 TraceCheckUtils]: 51: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,011 INFO L290 TraceCheckUtils]: 52: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,012 INFO L290 TraceCheckUtils]: 53: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,012 INFO L290 TraceCheckUtils]: 54: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,012 INFO L290 TraceCheckUtils]: 55: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,012 INFO L290 TraceCheckUtils]: 56: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,013 INFO L290 TraceCheckUtils]: 57: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,013 INFO L290 TraceCheckUtils]: 58: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,013 INFO L290 TraceCheckUtils]: 59: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,013 INFO L290 TraceCheckUtils]: 60: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,014 INFO L290 TraceCheckUtils]: 61: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,014 INFO L290 TraceCheckUtils]: 62: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,014 INFO L290 TraceCheckUtils]: 63: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,015 INFO L290 TraceCheckUtils]: 64: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,015 INFO L290 TraceCheckUtils]: 65: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,015 INFO L290 TraceCheckUtils]: 66: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,016 INFO L290 TraceCheckUtils]: 67: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,016 INFO L290 TraceCheckUtils]: 68: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,016 INFO L290 TraceCheckUtils]: 69: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,016 INFO L290 TraceCheckUtils]: 70: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:34,017 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} #91#return; {16494#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-15 05:42:34,017 INFO L290 TraceCheckUtils]: 72: Hoare triple {16494#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} ~i~1 := 0; {16495#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-15 05:42:34,018 INFO L290 TraceCheckUtils]: 73: Hoare triple {16495#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16496#(= main_~i~1 |main_#t~mem9|)} is VALID [2022-04-15 05:42:34,018 INFO L272 TraceCheckUtils]: 74: Hoare triple {16496#(= main_~i~1 |main_#t~mem9|)} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {16497#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 05:42:34,019 INFO L290 TraceCheckUtils]: 75: Hoare triple {16497#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {16498#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 05:42:34,019 INFO L290 TraceCheckUtils]: 76: Hoare triple {16498#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {16428#false} is VALID [2022-04-15 05:42:34,019 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-15 05:42:34,019 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 16 proven. 116 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-15 05:42:34,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:34,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1281381395] [2022-04-15 05:42:34,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1281381395] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:34,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2035185927] [2022-04-15 05:42:34,020 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:42:34,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:34,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:34,021 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:34,022 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-15 05:42:34,185 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-15 05:42:34,185 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:34,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 05:42:34,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:34,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:34,243 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:42:34,243 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:42:34,328 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:42:35,029 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2022-04-15 05:42:35,247 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-15 05:42:35,247 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 10 [2022-04-15 05:42:35,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {16427#true} call ULTIMATE.init(); {16427#true} is VALID [2022-04-15 05:42:35,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {16427#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:35,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:35,365 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {16427#true} #95#return; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:35,365 INFO L272 TraceCheckUtils]: 4: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:35,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,366 INFO L290 TraceCheckUtils]: 6: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,367 INFO L290 TraceCheckUtils]: 10: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,368 INFO L290 TraceCheckUtils]: 11: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16548#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:42:35,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {16548#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16552#(and (exists ((v_main_~i~1_128 Int)) (and (<= v_main_~i~1_128 (+ main_~i~1 1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,371 INFO L290 TraceCheckUtils]: 16: Hoare triple {16552#(and (exists ((v_main_~i~1_128 Int)) (and (<= v_main_~i~1_128 (+ main_~i~1 1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {16556#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,372 INFO L272 TraceCheckUtils]: 17: Hoare triple {16556#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,372 INFO L290 TraceCheckUtils]: 18: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,373 INFO L290 TraceCheckUtils]: 21: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,373 INFO L290 TraceCheckUtils]: 22: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,374 INFO L290 TraceCheckUtils]: 24: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,375 INFO L290 TraceCheckUtils]: 26: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,375 INFO L290 TraceCheckUtils]: 27: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,376 INFO L290 TraceCheckUtils]: 28: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,376 INFO L290 TraceCheckUtils]: 29: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,377 INFO L290 TraceCheckUtils]: 31: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,377 INFO L290 TraceCheckUtils]: 32: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:35,377 INFO L290 TraceCheckUtils]: 33: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,380 INFO L290 TraceCheckUtils]: 37: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,382 INFO L290 TraceCheckUtils]: 41: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,382 INFO L290 TraceCheckUtils]: 42: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,383 INFO L290 TraceCheckUtils]: 43: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,384 INFO L290 TraceCheckUtils]: 45: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,385 WARN L290 TraceCheckUtils]: 46: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-15 05:42:35,385 INFO L290 TraceCheckUtils]: 47: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,393 INFO L290 TraceCheckUtils]: 49: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,394 INFO L290 TraceCheckUtils]: 50: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,394 INFO L290 TraceCheckUtils]: 51: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,395 INFO L290 TraceCheckUtils]: 52: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,395 INFO L290 TraceCheckUtils]: 53: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,396 INFO L290 TraceCheckUtils]: 54: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,396 INFO L290 TraceCheckUtils]: 55: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,398 WARN L290 TraceCheckUtils]: 56: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-15 05:42:35,398 INFO L290 TraceCheckUtils]: 57: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,399 INFO L290 TraceCheckUtils]: 58: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,399 INFO L290 TraceCheckUtils]: 59: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,409 INFO L290 TraceCheckUtils]: 60: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,409 INFO L290 TraceCheckUtils]: 61: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,410 INFO L290 TraceCheckUtils]: 62: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,411 WARN L290 TraceCheckUtils]: 63: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-15 05:42:35,412 INFO L290 TraceCheckUtils]: 64: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,412 INFO L290 TraceCheckUtils]: 65: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,413 INFO L290 TraceCheckUtils]: 66: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,414 WARN L290 TraceCheckUtils]: 67: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-15 05:42:35,415 INFO L290 TraceCheckUtils]: 68: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,415 INFO L290 TraceCheckUtils]: 69: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~lh~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,415 INFO L290 TraceCheckUtils]: 70: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume true; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-15 05:42:35,417 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} {16556#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {16724#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:35,417 INFO L290 TraceCheckUtils]: 72: Hoare triple {16724#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {16728#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:42:35,418 INFO L290 TraceCheckUtils]: 73: Hoare triple {16728#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16732#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} is VALID [2022-04-15 05:42:35,419 INFO L272 TraceCheckUtils]: 74: Hoare triple {16732#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {16736#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:42:35,419 INFO L290 TraceCheckUtils]: 75: Hoare triple {16736#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16740#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:42:35,419 INFO L290 TraceCheckUtils]: 76: Hoare triple {16740#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16428#false} is VALID [2022-04-15 05:42:35,419 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-15 05:42:35,420 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 9 proven. 107 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-15 05:42:35,420 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:35,535 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_804 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_804) |c_main_~#array~1.base|) |c_main_~#array~1.offset|) 0)) is different from false [2022-04-15 05:42:35,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2035185927] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:35,537 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:42:35,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 29 [2022-04-15 05:42:35,537 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:35,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1541956768] [2022-04-15 05:42:35,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1541956768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:35,537 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:35,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 05:42:35,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507744039] [2022-04-15 05:42:35,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:35,538 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 78 [2022-04-15 05:42:35,538 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:35,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:35,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:35,568 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 05:42:35,568 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:35,568 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 05:42:35,568 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=826, Unknown=7, NotChecked=58, Total=992 [2022-04-15 05:42:35,568 INFO L87 Difference]: Start difference. First operand 89 states and 108 transitions. Second operand has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:37,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:37,376 INFO L93 Difference]: Finished difference Result 112 states and 134 transitions. [2022-04-15 05:42:37,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 05:42:37,376 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 78 [2022-04-15 05:42:37,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:37,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:37,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-15 05:42:37,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:37,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-15 05:42:37,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 75 transitions. [2022-04-15 05:42:37,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:37,456 INFO L225 Difference]: With dead ends: 112 [2022-04-15 05:42:37,456 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 05:42:37,457 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-15 05:42:37,457 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 152 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 115 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 152 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 491 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 115 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:37,457 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [152 Valid, 31 Invalid, 491 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [115 Valid, 376 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 05:42:37,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 05:42:37,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 95. [2022-04-15 05:42:37,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:37,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:42:37,667 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:42:37,667 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:42:37,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:37,668 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-15 05:42:37,668 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-15 05:42:37,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:37,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:37,669 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 110 states. [2022-04-15 05:42:37,669 INFO L87 Difference]: Start difference. First operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 110 states. [2022-04-15 05:42:37,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:37,670 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-15 05:42:37,670 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-15 05:42:37,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:37,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:37,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:37,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:37,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:42:37,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 114 transitions. [2022-04-15 05:42:37,672 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 114 transitions. Word has length 78 [2022-04-15 05:42:37,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:37,672 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 114 transitions. [2022-04-15 05:42:37,672 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-15 05:42:37,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 114 transitions. [2022-04-15 05:42:37,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:37,861 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-04-15 05:42:37,862 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 05:42:37,862 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:37,862 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:37,884 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:38,062 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-15 05:42:38,063 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:38,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:38,063 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 1 times [2022-04-15 05:42:38,063 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:38,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [702092766] [2022-04-15 05:42:38,066 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:38,066 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:38,066 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:38,066 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 2 times [2022-04-15 05:42:38,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:38,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1089957448] [2022-04-15 05:42:38,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:38,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:38,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:38,547 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:38,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:38,573 INFO L290 TraceCheckUtils]: 0: Hoare triple {17523#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,574 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {17446#true} #95#return; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:42:38,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:38,645 INFO L290 TraceCheckUtils]: 0: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,646 INFO L290 TraceCheckUtils]: 3: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,647 INFO L290 TraceCheckUtils]: 4: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,647 INFO L290 TraceCheckUtils]: 6: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,649 INFO L290 TraceCheckUtils]: 10: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,649 INFO L290 TraceCheckUtils]: 12: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,650 INFO L290 TraceCheckUtils]: 13: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,650 INFO L290 TraceCheckUtils]: 14: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,650 INFO L290 TraceCheckUtils]: 15: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,651 INFO L290 TraceCheckUtils]: 19: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,652 INFO L290 TraceCheckUtils]: 20: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,652 INFO L290 TraceCheckUtils]: 21: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,652 INFO L290 TraceCheckUtils]: 23: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,653 INFO L290 TraceCheckUtils]: 24: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,653 INFO L290 TraceCheckUtils]: 27: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,654 INFO L290 TraceCheckUtils]: 28: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,655 INFO L290 TraceCheckUtils]: 33: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,656 INFO L290 TraceCheckUtils]: 34: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,656 INFO L290 TraceCheckUtils]: 35: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,656 INFO L290 TraceCheckUtils]: 36: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,656 INFO L290 TraceCheckUtils]: 37: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,657 INFO L290 TraceCheckUtils]: 38: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,657 INFO L290 TraceCheckUtils]: 39: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,657 INFO L290 TraceCheckUtils]: 40: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,657 INFO L290 TraceCheckUtils]: 41: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,658 INFO L290 TraceCheckUtils]: 42: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,658 INFO L290 TraceCheckUtils]: 43: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,658 INFO L290 TraceCheckUtils]: 44: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,659 INFO L290 TraceCheckUtils]: 45: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,659 INFO L290 TraceCheckUtils]: 46: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,659 INFO L290 TraceCheckUtils]: 47: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,659 INFO L290 TraceCheckUtils]: 48: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,660 INFO L290 TraceCheckUtils]: 49: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,660 INFO L290 TraceCheckUtils]: 50: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,660 INFO L290 TraceCheckUtils]: 51: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,661 INFO L290 TraceCheckUtils]: 52: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,661 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} #91#return; {17513#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1))} is VALID [2022-04-15 05:42:38,662 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:42:38,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:38,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-15 05:42:38,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-15 05:42:38,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-15 05:42:38,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17446#true} {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #93#return; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:38,666 INFO L272 TraceCheckUtils]: 0: Hoare triple {17446#true} call ULTIMATE.init(); {17523#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:38,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {17523#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {17446#true} #95#return; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:42:38,668 INFO L290 TraceCheckUtils]: 6: Hoare triple {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:42:38,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,670 INFO L290 TraceCheckUtils]: 9: Hoare triple {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,670 INFO L290 TraceCheckUtils]: 10: Hoare triple {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,671 INFO L290 TraceCheckUtils]: 11: Hoare triple {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17455#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,672 INFO L290 TraceCheckUtils]: 12: Hoare triple {17455#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17456#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:42:38,672 INFO L290 TraceCheckUtils]: 13: Hoare triple {17456#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17457#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (not (= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {17457#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (not (= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:38,674 INFO L272 TraceCheckUtils]: 17: Hoare triple {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} call SelectionSort(); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,674 INFO L290 TraceCheckUtils]: 18: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,675 INFO L290 TraceCheckUtils]: 21: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,678 INFO L290 TraceCheckUtils]: 26: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,678 INFO L290 TraceCheckUtils]: 28: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,679 INFO L290 TraceCheckUtils]: 29: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,679 INFO L290 TraceCheckUtils]: 32: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:38,680 INFO L290 TraceCheckUtils]: 33: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,680 INFO L290 TraceCheckUtils]: 34: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,681 INFO L290 TraceCheckUtils]: 35: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,681 INFO L290 TraceCheckUtils]: 36: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,681 INFO L290 TraceCheckUtils]: 37: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,681 INFO L290 TraceCheckUtils]: 38: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,682 INFO L290 TraceCheckUtils]: 39: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,682 INFO L290 TraceCheckUtils]: 40: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,682 INFO L290 TraceCheckUtils]: 41: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,682 INFO L290 TraceCheckUtils]: 42: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,682 INFO L290 TraceCheckUtils]: 43: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,683 INFO L290 TraceCheckUtils]: 44: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,683 INFO L290 TraceCheckUtils]: 45: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,684 INFO L290 TraceCheckUtils]: 46: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,684 INFO L290 TraceCheckUtils]: 47: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,684 INFO L290 TraceCheckUtils]: 48: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,684 INFO L290 TraceCheckUtils]: 49: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,684 INFO L290 TraceCheckUtils]: 50: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,685 INFO L290 TraceCheckUtils]: 51: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,685 INFO L290 TraceCheckUtils]: 52: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,685 INFO L290 TraceCheckUtils]: 53: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,685 INFO L290 TraceCheckUtils]: 54: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,686 INFO L290 TraceCheckUtils]: 55: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,686 INFO L290 TraceCheckUtils]: 56: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,686 INFO L290 TraceCheckUtils]: 57: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,687 INFO L290 TraceCheckUtils]: 58: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,687 INFO L290 TraceCheckUtils]: 59: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,687 INFO L290 TraceCheckUtils]: 60: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,687 INFO L290 TraceCheckUtils]: 61: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,688 INFO L290 TraceCheckUtils]: 62: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,688 INFO L290 TraceCheckUtils]: 63: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,688 INFO L290 TraceCheckUtils]: 64: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,689 INFO L290 TraceCheckUtils]: 65: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,689 INFO L290 TraceCheckUtils]: 66: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,689 INFO L290 TraceCheckUtils]: 67: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,689 INFO L290 TraceCheckUtils]: 68: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,690 INFO L290 TraceCheckUtils]: 69: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,690 INFO L290 TraceCheckUtils]: 70: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:42:38,691 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} #91#return; {17513#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1))} is VALID [2022-04-15 05:42:38,691 INFO L290 TraceCheckUtils]: 72: Hoare triple {17513#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1))} ~i~1 := 0; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:38,691 INFO L290 TraceCheckUtils]: 73: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:38,691 INFO L272 TraceCheckUtils]: 74: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17446#true} is VALID [2022-04-15 05:42:38,692 INFO L290 TraceCheckUtils]: 75: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-15 05:42:38,692 INFO L290 TraceCheckUtils]: 76: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-15 05:42:38,692 INFO L290 TraceCheckUtils]: 77: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-15 05:42:38,692 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {17446#true} {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #93#return; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:38,692 INFO L290 TraceCheckUtils]: 79: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} havoc #t~mem9; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:38,693 INFO L290 TraceCheckUtils]: 80: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {17519#(and (= |main_~#array~1.offset| 0) (= main_~i~1 1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:42:38,693 INFO L290 TraceCheckUtils]: 81: Hoare triple {17519#(and (= |main_~#array~1.offset| 0) (= main_~i~1 1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} is VALID [2022-04-15 05:42:38,694 INFO L272 TraceCheckUtils]: 82: Hoare triple {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 05:42:38,694 INFO L290 TraceCheckUtils]: 83: Hoare triple {17521#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {17522#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 05:42:38,694 INFO L290 TraceCheckUtils]: 84: Hoare triple {17522#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {17447#false} is VALID [2022-04-15 05:42:38,694 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-15 05:42:38,695 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 2 proven. 134 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-15 05:42:38,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:38,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1089957448] [2022-04-15 05:42:38,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1089957448] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:38,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [622623347] [2022-04-15 05:42:38,695 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:42:38,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:38,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:38,696 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:38,739 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-15 05:42:38,822 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:42:38,822 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:38,829 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 05:42:38,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:38,848 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:38,896 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:42:38,896 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:42:39,027 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:42:39,141 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:42:39,141 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:42:39,690 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:42:40,108 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:42:40,108 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:42:40,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {17446#true} call ULTIMATE.init(); {17446#true} is VALID [2022-04-15 05:42:40,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {17446#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:40,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:40,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {17446#true} #95#return; {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:40,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:42:40,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:40,183 INFO L290 TraceCheckUtils]: 6: Hoare triple {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:40,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:40,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:42:40,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} is VALID [2022-04-15 05:42:40,185 INFO L290 TraceCheckUtils]: 10: Hoare triple {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} is VALID [2022-04-15 05:42:40,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17566#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 2)))} is VALID [2022-04-15 05:42:40,186 INFO L290 TraceCheckUtils]: 12: Hoare triple {17566#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 2)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17570#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= 3 (+ main_~i~1 2)))} is VALID [2022-04-15 05:42:40,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {17570#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= 3 (+ main_~i~1 2)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17574#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-15 05:42:40,187 INFO L290 TraceCheckUtils]: 14: Hoare triple {17574#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-15 05:42:40,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-15 05:42:40,188 INFO L290 TraceCheckUtils]: 16: Hoare triple {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} assume !(~i~1 >= 0); {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-15 05:42:40,188 INFO L272 TraceCheckUtils]: 17: Hoare triple {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} call SelectionSort(); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,190 INFO L290 TraceCheckUtils]: 19: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,191 INFO L290 TraceCheckUtils]: 21: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,191 INFO L290 TraceCheckUtils]: 22: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,191 INFO L290 TraceCheckUtils]: 23: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,193 INFO L290 TraceCheckUtils]: 26: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,193 INFO L290 TraceCheckUtils]: 28: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,194 INFO L290 TraceCheckUtils]: 29: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,194 INFO L290 TraceCheckUtils]: 31: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:42:40,196 INFO L290 TraceCheckUtils]: 33: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,196 INFO L290 TraceCheckUtils]: 34: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,197 INFO L290 TraceCheckUtils]: 36: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,197 INFO L290 TraceCheckUtils]: 37: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,198 INFO L290 TraceCheckUtils]: 38: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,198 INFO L290 TraceCheckUtils]: 39: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,199 INFO L290 TraceCheckUtils]: 40: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,199 INFO L290 TraceCheckUtils]: 41: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,200 INFO L290 TraceCheckUtils]: 42: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,200 INFO L290 TraceCheckUtils]: 43: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,200 INFO L290 TraceCheckUtils]: 44: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,201 INFO L290 TraceCheckUtils]: 45: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,203 WARN L290 TraceCheckUtils]: 46: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-15 05:42:40,204 INFO L290 TraceCheckUtils]: 47: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,204 INFO L290 TraceCheckUtils]: 48: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,205 INFO L290 TraceCheckUtils]: 49: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,205 INFO L290 TraceCheckUtils]: 50: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,205 INFO L290 TraceCheckUtils]: 51: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,206 INFO L290 TraceCheckUtils]: 52: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,206 INFO L290 TraceCheckUtils]: 53: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,207 INFO L290 TraceCheckUtils]: 54: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,207 INFO L290 TraceCheckUtils]: 55: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,209 WARN L290 TraceCheckUtils]: 56: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-15 05:42:40,210 INFO L290 TraceCheckUtils]: 57: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,210 INFO L290 TraceCheckUtils]: 58: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,211 INFO L290 TraceCheckUtils]: 59: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,211 INFO L290 TraceCheckUtils]: 60: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,212 INFO L290 TraceCheckUtils]: 61: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,212 INFO L290 TraceCheckUtils]: 62: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,214 WARN L290 TraceCheckUtils]: 63: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-15 05:42:40,214 INFO L290 TraceCheckUtils]: 64: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,215 INFO L290 TraceCheckUtils]: 65: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,215 INFO L290 TraceCheckUtils]: 66: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,217 WARN L290 TraceCheckUtils]: 67: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-15 05:42:40,218 INFO L290 TraceCheckUtils]: 68: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,218 INFO L290 TraceCheckUtils]: 69: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~lh~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,218 INFO L290 TraceCheckUtils]: 70: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume true; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-15 05:42:40,219 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} #91#return; {17752#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-15 05:42:40,220 INFO L290 TraceCheckUtils]: 72: Hoare triple {17752#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} ~i~1 := 0; {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:40,220 INFO L290 TraceCheckUtils]: 73: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:40,221 INFO L272 TraceCheckUtils]: 74: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-15 05:42:40,222 INFO L290 TraceCheckUtils]: 75: Hoare triple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} ~cond := #in~cond; {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-15 05:42:40,222 INFO L290 TraceCheckUtils]: 76: Hoare triple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} assume !(0 == ~cond); {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-15 05:42:40,222 INFO L290 TraceCheckUtils]: 77: Hoare triple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} assume true; {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-15 05:42:40,223 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} #93#return; {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:40,223 INFO L290 TraceCheckUtils]: 79: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} havoc #t~mem9; {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-15 05:42:40,224 INFO L290 TraceCheckUtils]: 80: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {17782#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-15 05:42:40,224 INFO L290 TraceCheckUtils]: 81: Hoare triple {17782#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} is VALID [2022-04-15 05:42:40,225 INFO L272 TraceCheckUtils]: 82: Hoare triple {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:42:40,225 INFO L290 TraceCheckUtils]: 83: Hoare triple {17789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:42:40,225 INFO L290 TraceCheckUtils]: 84: Hoare triple {17793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17447#false} is VALID [2022-04-15 05:42:40,225 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-15 05:42:40,226 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 0 proven. 136 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-15 05:42:40,226 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:40,456 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_889 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_889) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 4)) 1)) is different from false [2022-04-15 05:42:40,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [622623347] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:40,457 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:42:40,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 35 [2022-04-15 05:42:40,457 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:40,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [702092766] [2022-04-15 05:42:40,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [702092766] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:40,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:40,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 05:42:40,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330459873] [2022-04-15 05:42:40,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:40,459 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 86 [2022-04-15 05:42:40,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:40,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:40,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:40,500 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 05:42:40,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:40,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 05:42:40,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=1348, Unknown=11, NotChecked=74, Total=1560 [2022-04-15 05:42:40,501 INFO L87 Difference]: Start difference. First operand 95 states and 114 transitions. Second operand has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:43,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:43,775 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2022-04-15 05:42:43,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 05:42:43,775 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 86 [2022-04-15 05:42:43,775 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:42:43,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:43,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-15 05:42:43,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:43,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-15 05:42:43,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 88 transitions. [2022-04-15 05:42:43,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:43,907 INFO L225 Difference]: With dead ends: 126 [2022-04-15 05:42:43,907 INFO L226 Difference]: Without dead ends: 124 [2022-04-15 05:42:43,908 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 83 SyntacticMatches, 8 SemanticMatches, 58 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 698 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=378, Invalid=3031, Unknown=17, NotChecked=114, Total=3540 [2022-04-15 05:42:43,908 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 132 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 737 mSolverCounterSat, 128 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 132 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 865 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 128 IncrementalHoareTripleChecker+Valid, 737 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 05:42:43,908 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [132 Valid, 47 Invalid, 865 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [128 Valid, 737 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 05:42:43,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-15 05:42:44,228 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 103. [2022-04-15 05:42:44,228 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:42:44,228 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:42:44,228 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:42:44,228 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:42:44,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:44,230 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-15 05:42:44,230 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-15 05:42:44,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:44,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:44,231 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 124 states. [2022-04-15 05:42:44,231 INFO L87 Difference]: Start difference. First operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 124 states. [2022-04-15 05:42:44,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:42:44,232 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-15 05:42:44,232 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-15 05:42:44,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:42:44,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:42:44,232 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:42:44,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:42:44,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:42:44,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-15 05:42:44,234 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 86 [2022-04-15 05:42:44,234 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:42:44,234 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-15 05:42:44,234 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:44,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 122 transitions. [2022-04-15 05:42:44,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:44,460 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-15 05:42:44,460 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-15 05:42:44,460 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:42:44,460 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:42:44,493 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-15 05:42:44,661 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:44,661 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:42:44,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:42:44,661 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 3 times [2022-04-15 05:42:44,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:44,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [450820003] [2022-04-15 05:42:44,664 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:42:44,664 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:42:44,664 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:42:44,664 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 4 times [2022-04-15 05:42:44,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:42:44,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1890568561] [2022-04-15 05:42:44,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:42:44,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:42:44,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:44,782 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:42:44,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:44,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {18664#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:44,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:44,791 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {18596#true} #95#return; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:44,793 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:42:44,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:45,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {18665#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18596#true} is VALID [2022-04-15 05:42:45,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:42:45,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:42:45,584 INFO L290 TraceCheckUtils]: 3: Hoare triple {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:45,585 INFO L290 TraceCheckUtils]: 4: Hoare triple {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:45,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:45,586 INFO L290 TraceCheckUtils]: 6: Hoare triple {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:45,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:42:45,588 INFO L290 TraceCheckUtils]: 8: Hoare triple {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:42:45,588 INFO L290 TraceCheckUtils]: 9: Hoare triple {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:42:45,589 INFO L290 TraceCheckUtils]: 10: Hoare triple {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:45,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-15 05:42:45,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:45,591 INFO L290 TraceCheckUtils]: 13: Hoare triple {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:45,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:42:45,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:42:45,594 INFO L290 TraceCheckUtils]: 16: Hoare triple {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:42:45,594 INFO L290 TraceCheckUtils]: 17: Hoare triple {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,595 INFO L290 TraceCheckUtils]: 18: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,595 INFO L290 TraceCheckUtils]: 19: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,596 INFO L290 TraceCheckUtils]: 20: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:42:45,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:42:45,597 INFO L290 TraceCheckUtils]: 22: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,598 INFO L290 TraceCheckUtils]: 23: Hoare triple {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 26: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 27: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 28: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 29: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 30: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:45,599 INFO L290 TraceCheckUtils]: 31: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 32: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 34: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 36: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 37: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 41: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 42: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 43: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 44: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,600 INFO L290 TraceCheckUtils]: 45: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L290 TraceCheckUtils]: 46: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L290 TraceCheckUtils]: 47: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L290 TraceCheckUtils]: 48: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L290 TraceCheckUtils]: 49: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L290 TraceCheckUtils]: 50: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L290 TraceCheckUtils]: 51: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L290 TraceCheckUtils]: 52: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18597#false} {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {18597#false} is VALID [2022-04-15 05:42:45,601 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:42:45,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:45,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 05:42:45,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 05:42:45,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:45,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:45,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:42:45,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:45,606 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 05:42:45,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 05:42:45,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:45,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:45,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18664#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:42:45,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {18664#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {18596#true} #95#return; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,624 INFO L290 TraceCheckUtils]: 6: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,626 INFO L290 TraceCheckUtils]: 10: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,627 INFO L290 TraceCheckUtils]: 12: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:42:45,628 INFO L272 TraceCheckUtils]: 17: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {18665#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:42:45,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {18665#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18596#true} is VALID [2022-04-15 05:42:45,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:42:45,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:42:45,630 INFO L290 TraceCheckUtils]: 21: Hoare triple {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:45,631 INFO L290 TraceCheckUtils]: 22: Hoare triple {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:45,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:45,632 INFO L290 TraceCheckUtils]: 24: Hoare triple {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:45,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:42:45,633 INFO L290 TraceCheckUtils]: 26: Hoare triple {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:42:45,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:42:45,635 INFO L290 TraceCheckUtils]: 28: Hoare triple {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:45,635 INFO L290 TraceCheckUtils]: 29: Hoare triple {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-15 05:42:45,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:45,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:45,637 INFO L290 TraceCheckUtils]: 32: Hoare triple {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:42:45,638 INFO L290 TraceCheckUtils]: 33: Hoare triple {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:42:45,639 INFO L290 TraceCheckUtils]: 34: Hoare triple {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:42:45,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,641 INFO L290 TraceCheckUtils]: 36: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,641 INFO L290 TraceCheckUtils]: 37: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,642 INFO L290 TraceCheckUtils]: 38: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:42:45,643 INFO L290 TraceCheckUtils]: 39: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:42:45,643 INFO L290 TraceCheckUtils]: 40: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:42:45,644 INFO L290 TraceCheckUtils]: 41: Hoare triple {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 42: Hoare triple {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 43: Hoare triple {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 44: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 45: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 46: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 47: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 48: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:45,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 50: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 51: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 52: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 53: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 54: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 56: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 57: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 58: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 59: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 60: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 61: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,646 INFO L290 TraceCheckUtils]: 63: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 64: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 65: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 68: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 73: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:45,647 INFO L272 TraceCheckUtils]: 74: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 05:42:45,647 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:45,648 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 80: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 81: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L272 TraceCheckUtils]: 82: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:45,648 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 88: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 89: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L272 TraceCheckUtils]: 90: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 05:42:45,648 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-15 05:42:45,649 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-15 05:42:45,649 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 125 proven. 61 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-15 05:42:45,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:42:45,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1890568561] [2022-04-15 05:42:45,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1890568561] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:42:45,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [764644063] [2022-04-15 05:42:45,649 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:42:45,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:42:45,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:42:45,650 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:42:45,651 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-15 05:42:45,758 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:42:45,758 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:42:45,760 INFO L263 TraceCheckSpWp]: Trace formula consists of 300 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-15 05:42:45,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:42:45,781 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:42:46,632 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-15 05:42:46,632 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 7 case distinctions, treesize of input 76 treesize of output 57 [2022-04-15 05:42:46,977 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-15 05:42:46,977 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 49 treesize of output 13 [2022-04-15 05:42:47,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-15 05:42:47,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18596#true} is VALID [2022-04-15 05:42:47,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:47,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-15 05:42:47,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 5: Hoare triple {18596#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 6: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 10: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 12: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 15: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-15 05:42:47,086 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-15 05:42:47,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {18596#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:47,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:47,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:47,088 INFO L290 TraceCheckUtils]: 21: Hoare triple {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:47,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:47,089 INFO L290 TraceCheckUtils]: 23: Hoare triple {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:47,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:47,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:47,090 INFO L290 TraceCheckUtils]: 26: Hoare triple {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:47,090 INFO L290 TraceCheckUtils]: 27: Hoare triple {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:42:47,090 INFO L290 TraceCheckUtils]: 28: Hoare triple {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:47,091 INFO L290 TraceCheckUtils]: 29: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:47,091 INFO L290 TraceCheckUtils]: 30: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:47,091 INFO L290 TraceCheckUtils]: 31: Hoare triple {18744#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:47,091 INFO L290 TraceCheckUtils]: 32: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:47,092 INFO L290 TraceCheckUtils]: 33: Hoare triple {18744#(= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:42:47,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {18744#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18796#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-15 05:42:47,092 INFO L290 TraceCheckUtils]: 35: Hoare triple {18796#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18800#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-15 05:42:47,093 INFO L290 TraceCheckUtils]: 36: Hoare triple {18800#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18804#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:42:47,093 INFO L290 TraceCheckUtils]: 37: Hoare triple {18804#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18808#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,094 INFO L290 TraceCheckUtils]: 38: Hoare triple {18808#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18812#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:42:47,095 INFO L290 TraceCheckUtils]: 39: Hoare triple {18812#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18816#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:42:47,095 INFO L290 TraceCheckUtils]: 40: Hoare triple {18816#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18820#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,096 INFO L290 TraceCheckUtils]: 41: Hoare triple {18820#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,097 INFO L290 TraceCheckUtils]: 42: Hoare triple {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,097 INFO L290 TraceCheckUtils]: 43: Hoare triple {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,098 INFO L290 TraceCheckUtils]: 44: Hoare triple {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,098 INFO L290 TraceCheckUtils]: 45: Hoare triple {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,100 INFO L290 TraceCheckUtils]: 46: Hoare triple {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18841#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:42:47,100 INFO L290 TraceCheckUtils]: 47: Hoare triple {18841#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18845#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= (+ (- 2) SelectionSort_~lh~0) 0))} is VALID [2022-04-15 05:42:47,101 INFO L290 TraceCheckUtils]: 48: Hoare triple {18845#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= (+ (- 2) SelectionSort_~lh~0) 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:47,101 INFO L290 TraceCheckUtils]: 49: Hoare triple {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:47,102 INFO L290 TraceCheckUtils]: 50: Hoare triple {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18856#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:47,103 INFO L290 TraceCheckUtils]: 51: Hoare triple {18856#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18860#(and (= (+ SelectionSort_~i~0 (- 4)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} is VALID [2022-04-15 05:42:47,103 INFO L290 TraceCheckUtils]: 52: Hoare triple {18860#(and (= (+ SelectionSort_~i~0 (- 4)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18864#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 53: Hoare triple {18864#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 54: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 56: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 57: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 58: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 59: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 60: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 61: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 63: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 64: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:47,104 INFO L290 TraceCheckUtils]: 65: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 68: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 73: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L272 TraceCheckUtils]: 74: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 76: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 77: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:47,105 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 80: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 81: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L272 TraceCheckUtils]: 82: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 83: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 84: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 85: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 88: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 89: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L272 TraceCheckUtils]: 90: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-15 05:42:47,106 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-15 05:42:47,107 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 90 proven. 123 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-15 05:42:47,107 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:42:49,131 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 88 [2022-04-15 05:42:49,274 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-15 05:42:49,274 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 2086 treesize of output 1969 [2022-04-15 05:42:50,618 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-15 05:42:50,618 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-15 05:42:50,618 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 05:42:50,618 INFO L272 TraceCheckUtils]: 90: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-15 05:42:50,618 INFO L290 TraceCheckUtils]: 89: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:50,618 INFO L290 TraceCheckUtils]: 88: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-15 05:42:50,618 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 05:42:50,618 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L272 TraceCheckUtils]: 82: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 81: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 80: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 05:42:50,619 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L272 TraceCheckUtils]: 74: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 73: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-15 05:42:50,619 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 65: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 64: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 63: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 61: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 60: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 59: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:50,620 INFO L290 TraceCheckUtils]: 58: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-15 05:42:50,621 INFO L290 TraceCheckUtils]: 57: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-15 05:42:50,621 INFO L290 TraceCheckUtils]: 56: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-15 05:42:50,621 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 05:42:50,621 INFO L290 TraceCheckUtils]: 54: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-15 05:42:50,621 INFO L290 TraceCheckUtils]: 53: Hoare triple {19111#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-15 05:42:50,643 INFO L290 TraceCheckUtils]: 52: Hoare triple {19115#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19111#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-15 05:42:50,644 INFO L290 TraceCheckUtils]: 51: Hoare triple {19119#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19115#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:50,645 INFO L290 TraceCheckUtils]: 50: Hoare triple {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19119#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:50,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:50,646 INFO L290 TraceCheckUtils]: 48: Hoare triple {19130#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:42:50,646 INFO L290 TraceCheckUtils]: 47: Hoare triple {19134#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {19130#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:50,647 INFO L290 TraceCheckUtils]: 46: Hoare triple {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19134#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:42:50,648 INFO L290 TraceCheckUtils]: 45: Hoare triple {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:50,648 INFO L290 TraceCheckUtils]: 44: Hoare triple {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:50,649 INFO L290 TraceCheckUtils]: 43: Hoare triple {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:50,650 INFO L290 TraceCheckUtils]: 42: Hoare triple {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:50,652 INFO L290 TraceCheckUtils]: 41: Hoare triple {19155#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:50,653 INFO L290 TraceCheckUtils]: 40: Hoare triple {19159#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19155#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:42:50,653 INFO L290 TraceCheckUtils]: 39: Hoare triple {19163#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19159#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-15 05:42:50,656 INFO L290 TraceCheckUtils]: 38: Hoare triple {19167#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19163#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:42:50,656 INFO L290 TraceCheckUtils]: 37: Hoare triple {19171#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19167#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:42:50,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {19175#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19171#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-15 05:42:50,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {19175#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:42:50,659 INFO L290 TraceCheckUtils]: 34: Hoare triple {18596#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18596#true} is VALID [2022-04-15 05:42:50,659 INFO L290 TraceCheckUtils]: 33: Hoare triple {18596#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-15 05:42:50,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {18596#true} assume !(~i~0 < ~n~0); {18596#true} is VALID [2022-04-15 05:42:50,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 28: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 26: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 23: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 22: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 21: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {18596#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-15 05:42:50,660 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 13: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 12: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 11: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 10: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-15 05:42:50,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-15 05:42:50,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-15 05:42:50,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-15 05:42:50,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-15 05:42:50,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-15 05:42:50,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 05:42:50,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18596#true} is VALID [2022-04-15 05:42:50,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-15 05:42:50,662 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 169 proven. 26 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-15 05:42:50,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [764644063] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:42:50,662 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:42:50,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 21, 16] total 59 [2022-04-15 05:42:50,662 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:42:50,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [450820003] [2022-04-15 05:42:50,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [450820003] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:42:50,663 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:42:50,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 05:42:50,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546283363] [2022-04-15 05:42:50,663 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:42:50,663 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-15 05:42:50,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:42:50,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:42:50,707 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:42:50,707 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 05:42:50,707 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:42:50,707 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 05:42:50,708 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=278, Invalid=3144, Unknown=0, NotChecked=0, Total=3422 [2022-04-15 05:42:50,708 INFO L87 Difference]: Start difference. First operand 103 states and 122 transitions. Second operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:00,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:00,680 INFO L93 Difference]: Finished difference Result 410 states and 529 transitions. [2022-04-15 05:43:00,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2022-04-15 05:43:00,680 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-15 05:43:00,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:43:00,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:00,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-15 05:43:00,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:00,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-15 05:43:00,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 188 transitions. [2022-04-15 05:43:00,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 188 edges. 188 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:00,951 INFO L225 Difference]: With dead ends: 410 [2022-04-15 05:43:00,951 INFO L226 Difference]: Without dead ends: 350 [2022-04-15 05:43:00,954 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 163 SyntacticMatches, 0 SemanticMatches, 122 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3940 ImplicationChecksByTransitivity, 6.8s TimeCoverageRelationStatistics Valid=1711, Invalid=13541, Unknown=0, NotChecked=0, Total=15252 [2022-04-15 05:43:00,954 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 244 mSDsluCounter, 13 mSDsCounter, 0 mSdLazyCounter, 886 mSolverCounterSat, 363 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 244 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 1249 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 363 IncrementalHoareTripleChecker+Valid, 886 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-15 05:43:00,955 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [244 Valid, 33 Invalid, 1249 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [363 Valid, 886 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-15 05:43:00,955 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-15 05:43:02,237 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 233. [2022-04-15 05:43:02,237 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:43:02,238 INFO L82 GeneralOperation]: Start isEquivalent. First operand 350 states. Second operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:02,238 INFO L74 IsIncluded]: Start isIncluded. First operand 350 states. Second operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:02,238 INFO L87 Difference]: Start difference. First operand 350 states. Second operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:02,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:02,245 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-15 05:43:02,245 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-15 05:43:02,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:43:02,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:43:02,246 INFO L74 IsIncluded]: Start isIncluded. First operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 350 states. [2022-04-15 05:43:02,247 INFO L87 Difference]: Start difference. First operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 350 states. [2022-04-15 05:43:02,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:02,252 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-15 05:43:02,252 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-15 05:43:02,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:43:02,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:43:02,253 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:43:02,253 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:43:02,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:02,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 313 transitions. [2022-04-15 05:43:02,256 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 313 transitions. Word has length 94 [2022-04-15 05:43:02,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:43:02,257 INFO L478 AbstractCegarLoop]: Abstraction has 233 states and 313 transitions. [2022-04-15 05:43:02,257 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:02,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 313 transitions. [2022-04-15 05:43:03,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:03,111 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 313 transitions. [2022-04-15 05:43:03,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-15 05:43:03,112 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:43:03,112 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 9, 5, 5, 5, 5, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:43:03,136 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-15 05:43:03,325 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:43:03,325 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:43:03,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:43:03,326 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 1 times [2022-04-15 05:43:03,326 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:43:03,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1670294068] [2022-04-15 05:43:03,328 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:43:03,328 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:43:03,328 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:43:03,328 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 2 times [2022-04-15 05:43:03,329 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:43:03,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1390670719] [2022-04-15 05:43:03,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:43:03,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:43:03,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:03,483 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:43:03,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:03,488 INFO L290 TraceCheckUtils]: 0: Hoare triple {21468#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:03,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:03,489 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:03,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:43:03,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:04,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {21469#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {21400#true} is VALID [2022-04-15 05:43:04,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-15 05:43:04,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-15 05:43:04,736 INFO L290 TraceCheckUtils]: 3: Hoare triple {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:04,737 INFO L290 TraceCheckUtils]: 4: Hoare triple {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-15 05:43:04,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-15 05:43:04,739 INFO L290 TraceCheckUtils]: 6: Hoare triple {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:04,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:04,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:04,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:04,741 INFO L290 TraceCheckUtils]: 10: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:04,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:43:04,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:43:04,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} is VALID [2022-04-15 05:43:04,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} assume !(~i~0 < ~n~0); {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:43:04,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:43:04,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:43:04,746 INFO L290 TraceCheckUtils]: 17: Hoare triple {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:43:04,747 INFO L290 TraceCheckUtils]: 18: Hoare triple {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:43:04,748 INFO L290 TraceCheckUtils]: 19: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:43:04,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:43:04,749 INFO L290 TraceCheckUtils]: 21: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:43:04,750 INFO L290 TraceCheckUtils]: 22: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} is VALID [2022-04-15 05:43:04,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} is VALID [2022-04-15 05:43:04,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(~i~0 < ~n~0); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,754 INFO L290 TraceCheckUtils]: 28: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,754 INFO L290 TraceCheckUtils]: 29: Hoare triple {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} is VALID [2022-04-15 05:43:04,755 INFO L290 TraceCheckUtils]: 30: Hoare triple {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,757 INFO L290 TraceCheckUtils]: 33: Hoare triple {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,760 INFO L290 TraceCheckUtils]: 35: Hoare triple {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:43:04,760 INFO L290 TraceCheckUtils]: 36: Hoare triple {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:43:04,760 INFO L290 TraceCheckUtils]: 37: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 38: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 39: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 40: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 41: Hoare triple {21401#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {21401#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 43: Hoare triple {21401#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 44: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 45: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 46: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 47: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 48: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 49: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,761 INFO L290 TraceCheckUtils]: 50: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-15 05:43:04,762 INFO L290 TraceCheckUtils]: 51: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,762 INFO L290 TraceCheckUtils]: 52: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-15 05:43:04,762 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-15 05:43:04,762 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:43:04,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:04,776 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 05:43:04,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 05:43:04,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 05:43:04,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 05:43:04,777 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:43:04,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:04,780 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 05:43:04,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 05:43:04,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 05:43:04,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 05:43:04,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {21400#true} call ULTIMATE.init(); {21468#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:43:04,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {21468#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {21405#(= |~#array~0.offset| 0)} call #t~ret10 := main(); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {21405#(= |~#array~0.offset| 0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,782 INFO L290 TraceCheckUtils]: 6: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,783 INFO L290 TraceCheckUtils]: 7: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,783 INFO L290 TraceCheckUtils]: 8: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,784 INFO L290 TraceCheckUtils]: 10: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,784 INFO L290 TraceCheckUtils]: 11: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,784 INFO L290 TraceCheckUtils]: 12: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,784 INFO L290 TraceCheckUtils]: 13: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !(~i~1 >= 0); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 05:43:04,786 INFO L272 TraceCheckUtils]: 17: Hoare triple {21405#(= |~#array~0.offset| 0)} call SelectionSort(); {21469#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:43:04,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {21469#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {21400#true} is VALID [2022-04-15 05:43:04,786 INFO L290 TraceCheckUtils]: 19: Hoare triple {21400#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-15 05:43:04,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-15 05:43:04,788 INFO L290 TraceCheckUtils]: 21: Hoare triple {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:04,789 INFO L290 TraceCheckUtils]: 22: Hoare triple {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-15 05:43:04,790 INFO L290 TraceCheckUtils]: 23: Hoare triple {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-15 05:43:04,790 INFO L290 TraceCheckUtils]: 24: Hoare triple {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:04,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:04,792 INFO L290 TraceCheckUtils]: 26: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:04,792 INFO L290 TraceCheckUtils]: 27: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:04,793 INFO L290 TraceCheckUtils]: 28: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:04,794 INFO L290 TraceCheckUtils]: 29: Hoare triple {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:43:04,795 INFO L290 TraceCheckUtils]: 30: Hoare triple {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:43:04,796 INFO L290 TraceCheckUtils]: 31: Hoare triple {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} is VALID [2022-04-15 05:43:04,797 INFO L290 TraceCheckUtils]: 32: Hoare triple {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} assume !(~i~0 < ~n~0); {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:43:04,798 INFO L290 TraceCheckUtils]: 33: Hoare triple {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:43:04,799 INFO L290 TraceCheckUtils]: 34: Hoare triple {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:43:04,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:43:04,801 INFO L290 TraceCheckUtils]: 36: Hoare triple {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:43:04,801 INFO L290 TraceCheckUtils]: 37: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:43:04,802 INFO L290 TraceCheckUtils]: 38: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:43:04,803 INFO L290 TraceCheckUtils]: 39: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:43:04,804 INFO L290 TraceCheckUtils]: 40: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} is VALID [2022-04-15 05:43:04,805 INFO L290 TraceCheckUtils]: 41: Hoare triple {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} is VALID [2022-04-15 05:43:04,806 INFO L290 TraceCheckUtils]: 42: Hoare triple {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,806 INFO L290 TraceCheckUtils]: 43: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,807 INFO L290 TraceCheckUtils]: 44: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,807 INFO L290 TraceCheckUtils]: 45: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(~i~0 < ~n~0); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,808 INFO L290 TraceCheckUtils]: 46: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-15 05:43:04,809 INFO L290 TraceCheckUtils]: 47: Hoare triple {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} is VALID [2022-04-15 05:43:04,810 INFO L290 TraceCheckUtils]: 48: Hoare triple {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,810 INFO L290 TraceCheckUtils]: 49: Hoare triple {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,811 INFO L290 TraceCheckUtils]: 50: Hoare triple {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,812 INFO L290 TraceCheckUtils]: 51: Hoare triple {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,812 INFO L290 TraceCheckUtils]: 52: Hoare triple {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:43:04,813 INFO L290 TraceCheckUtils]: 53: Hoare triple {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-15 05:43:04,813 INFO L290 TraceCheckUtils]: 54: Hoare triple {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 55: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 56: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 57: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 58: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 59: Hoare triple {21401#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 60: Hoare triple {21401#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 61: Hoare triple {21401#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 62: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 63: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 64: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 65: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 66: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 67: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 68: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-15 05:43:04,814 INFO L290 TraceCheckUtils]: 69: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 70: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 72: Hoare triple {21401#false} ~i~1 := 0; {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 73: Hoare triple {21401#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L272 TraceCheckUtils]: 74: Hoare triple {21401#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21400#true} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 75: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 76: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 77: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 05:43:04,815 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 79: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 80: Hoare triple {21401#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 81: Hoare triple {21401#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21401#false} is VALID [2022-04-15 05:43:04,815 INFO L272 TraceCheckUtils]: 82: Hoare triple {21401#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21400#true} is VALID [2022-04-15 05:43:04,815 INFO L290 TraceCheckUtils]: 83: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 84: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 85: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 05:43:04,816 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 87: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 88: Hoare triple {21401#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21401#false} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 89: Hoare triple {21401#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21401#false} is VALID [2022-04-15 05:43:04,816 INFO L272 TraceCheckUtils]: 90: Hoare triple {21401#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21401#false} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 91: Hoare triple {21401#false} ~cond := #in~cond; {21401#false} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 92: Hoare triple {21401#false} assume 0 == ~cond; {21401#false} is VALID [2022-04-15 05:43:04,816 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-15 05:43:04,817 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 86 proven. 136 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-15 05:43:04,817 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:43:04,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1390670719] [2022-04-15 05:43:04,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1390670719] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:43:04,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [372933975] [2022-04-15 05:43:04,817 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:43:04,817 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:43:04,817 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:43:04,818 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:43:04,819 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-15 05:43:04,950 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:43:04,951 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:43:04,952 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 05:43:04,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:04,983 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:43:05,058 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:43:05,059 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:43:05,182 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:43:05,297 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:43:05,297 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:43:05,406 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:43:05,407 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:43:06,053 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:43:06,829 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:43:06,829 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:43:06,961 INFO L272 TraceCheckUtils]: 0: Hoare triple {21400#true} call ULTIMATE.init(); {21400#true} is VALID [2022-04-15 05:43:06,962 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:06,962 INFO L290 TraceCheckUtils]: 2: Hoare triple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:06,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {21400#true} #95#return; {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:06,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:06,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:06,964 INFO L290 TraceCheckUtils]: 6: Hoare triple {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:06,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:06,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:06,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21532#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:06,967 INFO L290 TraceCheckUtils]: 10: Hoare triple {21532#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21536#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:06,967 INFO L290 TraceCheckUtils]: 11: Hoare triple {21536#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:06,968 INFO L290 TraceCheckUtils]: 12: Hoare triple {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:06,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21547#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:06,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {21547#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:06,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:06,970 INFO L290 TraceCheckUtils]: 16: Hoare triple {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !(~i~1 >= 0); {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:06,971 INFO L272 TraceCheckUtils]: 17: Hoare triple {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} call SelectionSort(); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,971 INFO L290 TraceCheckUtils]: 18: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,973 INFO L290 TraceCheckUtils]: 21: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,973 INFO L290 TraceCheckUtils]: 22: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,973 INFO L290 TraceCheckUtils]: 23: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,974 INFO L290 TraceCheckUtils]: 24: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,975 INFO L290 TraceCheckUtils]: 26: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,975 INFO L290 TraceCheckUtils]: 27: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,976 INFO L290 TraceCheckUtils]: 28: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,976 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,977 INFO L290 TraceCheckUtils]: 32: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,978 INFO L290 TraceCheckUtils]: 33: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,978 INFO L290 TraceCheckUtils]: 34: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,980 INFO L290 TraceCheckUtils]: 37: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,980 INFO L290 TraceCheckUtils]: 38: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,981 INFO L290 TraceCheckUtils]: 39: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,981 INFO L290 TraceCheckUtils]: 40: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,982 INFO L290 TraceCheckUtils]: 41: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,982 INFO L290 TraceCheckUtils]: 42: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,983 INFO L290 TraceCheckUtils]: 43: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,983 INFO L290 TraceCheckUtils]: 44: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,983 INFO L290 TraceCheckUtils]: 45: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,985 WARN L290 TraceCheckUtils]: 46: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:43:06,986 INFO L290 TraceCheckUtils]: 47: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,986 INFO L290 TraceCheckUtils]: 48: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,987 INFO L290 TraceCheckUtils]: 49: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,987 INFO L290 TraceCheckUtils]: 50: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,988 INFO L290 TraceCheckUtils]: 51: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,988 INFO L290 TraceCheckUtils]: 52: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,989 INFO L290 TraceCheckUtils]: 53: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,989 INFO L290 TraceCheckUtils]: 54: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,989 INFO L290 TraceCheckUtils]: 55: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,997 WARN L290 TraceCheckUtils]: 56: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:43:06,998 INFO L290 TraceCheckUtils]: 57: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,998 INFO L290 TraceCheckUtils]: 58: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,999 INFO L290 TraceCheckUtils]: 59: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:06,999 INFO L290 TraceCheckUtils]: 60: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,000 INFO L290 TraceCheckUtils]: 61: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,000 INFO L290 TraceCheckUtils]: 62: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,002 WARN L290 TraceCheckUtils]: 63: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:43:07,003 INFO L290 TraceCheckUtils]: 64: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,003 INFO L290 TraceCheckUtils]: 65: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,004 INFO L290 TraceCheckUtils]: 66: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,005 WARN L290 TraceCheckUtils]: 67: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:43:07,006 INFO L290 TraceCheckUtils]: 68: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,006 INFO L290 TraceCheckUtils]: 69: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,007 INFO L290 TraceCheckUtils]: 70: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume true; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:07,007 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #91#return; {21725#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:07,008 INFO L290 TraceCheckUtils]: 72: Hoare triple {21725#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} ~i~1 := 0; {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-15 05:43:07,008 INFO L290 TraceCheckUtils]: 73: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-15 05:43:07,009 INFO L272 TraceCheckUtils]: 74: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,010 INFO L290 TraceCheckUtils]: 75: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} ~cond := #in~cond; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,010 INFO L290 TraceCheckUtils]: 76: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume !(0 == ~cond); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,010 INFO L290 TraceCheckUtils]: 77: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume true; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,011 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} #93#return; {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-15 05:43:07,012 INFO L290 TraceCheckUtils]: 79: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} havoc #t~mem9; {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-15 05:43:07,012 INFO L290 TraceCheckUtils]: 80: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:07,013 INFO L290 TraceCheckUtils]: 81: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:07,014 INFO L272 TraceCheckUtils]: 82: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,014 INFO L290 TraceCheckUtils]: 83: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} ~cond := #in~cond; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,014 INFO L290 TraceCheckUtils]: 84: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume !(0 == ~cond); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,015 INFO L290 TraceCheckUtils]: 85: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume true; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-15 05:43:07,015 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #93#return; {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:07,016 INFO L290 TraceCheckUtils]: 87: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} havoc #t~mem9; {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:07,016 INFO L290 TraceCheckUtils]: 88: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21780#(and (= 1 (+ (- 1) main_~i~1)) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:07,017 INFO L290 TraceCheckUtils]: 89: Hoare triple {21780#(and (= 1 (+ (- 1) main_~i~1)) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21784#(and (= 1 (+ (- 1) main_~i~1)) (= 2 |main_#t~mem9|))} is VALID [2022-04-15 05:43:07,017 INFO L272 TraceCheckUtils]: 90: Hoare triple {21784#(and (= 1 (+ (- 1) main_~i~1)) (= 2 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:43:07,018 INFO L290 TraceCheckUtils]: 91: Hoare triple {21788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:43:07,018 INFO L290 TraceCheckUtils]: 92: Hoare triple {21792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21401#false} is VALID [2022-04-15 05:43:07,018 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-15 05:43:07,019 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 1 proven. 143 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-15 05:43:07,019 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:43:07,350 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1051 (Array Int Int))) (= 2 (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1051) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 8)))) is different from false [2022-04-15 05:43:07,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [372933975] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:43:07,352 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:43:07,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 20] total 52 [2022-04-15 05:43:07,352 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:43:07,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1670294068] [2022-04-15 05:43:07,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1670294068] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:43:07,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:43:07,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-15 05:43:07,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2117066653] [2022-04-15 05:43:07,352 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:43:07,353 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-15 05:43:07,353 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:43:07,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:07,415 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:07,415 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-15 05:43:07,415 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:43:07,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-15 05:43:07,416 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=229, Invalid=2957, Unknown=10, NotChecked=110, Total=3306 [2022-04-15 05:43:07,416 INFO L87 Difference]: Start difference. First operand 233 states and 313 transitions. Second operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:24,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:24,214 INFO L93 Difference]: Finished difference Result 762 states and 1052 transitions. [2022-04-15 05:43:24,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 92 states. [2022-04-15 05:43:24,214 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-15 05:43:24,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:43:24,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:24,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-15 05:43:24,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:24,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-15 05:43:24,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 229 transitions. [2022-04-15 05:43:24,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 229 edges. 229 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:24,580 INFO L225 Difference]: With dead ends: 762 [2022-04-15 05:43:24,580 INFO L226 Difference]: Without dead ends: 701 [2022-04-15 05:43:24,584 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 246 GetRequests, 93 SyntacticMatches, 8 SemanticMatches, 145 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 5994 ImplicationChecksByTransitivity, 9.2s TimeCoverageRelationStatistics Valid=2620, Invalid=18543, Unknown=11, NotChecked=288, Total=21462 [2022-04-15 05:43:24,584 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 372 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 963 mSolverCounterSat, 357 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 372 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 1320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 357 IncrementalHoareTripleChecker+Valid, 963 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-15 05:43:24,585 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [372 Valid, 38 Invalid, 1320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [357 Valid, 963 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-15 05:43:24,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 701 states. [2022-04-15 05:43:28,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 701 to 465. [2022-04-15 05:43:28,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:43:28,171 INFO L82 GeneralOperation]: Start isEquivalent. First operand 701 states. Second operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:28,171 INFO L74 IsIncluded]: Start isIncluded. First operand 701 states. Second operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:28,172 INFO L87 Difference]: Start difference. First operand 701 states. Second operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:28,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:28,186 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-15 05:43:28,186 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-15 05:43:28,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:43:28,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:43:28,187 INFO L74 IsIncluded]: Start isIncluded. First operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 701 states. [2022-04-15 05:43:28,188 INFO L87 Difference]: Start difference. First operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 701 states. [2022-04-15 05:43:28,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:28,202 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-15 05:43:28,202 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-15 05:43:28,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:43:28,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:43:28,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:43:28,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:43:28,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:43:28,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 642 transitions. [2022-04-15 05:43:28,215 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 642 transitions. Word has length 94 [2022-04-15 05:43:28,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:43:28,215 INFO L478 AbstractCegarLoop]: Abstraction has 465 states and 642 transitions. [2022-04-15 05:43:28,215 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:28,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 465 states and 642 transitions. [2022-04-15 05:43:30,415 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 642 edges. 642 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:30,415 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 642 transitions. [2022-04-15 05:43:30,416 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-15 05:43:30,416 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:43:30,416 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:43:30,435 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-15 05:43:30,633 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-15 05:43:30,633 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:43:30,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:43:30,634 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 3 times [2022-04-15 05:43:30,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:43:30,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [580183068] [2022-04-15 05:43:30,636 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:43:30,636 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:43:30,636 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:43:30,636 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 4 times [2022-04-15 05:43:30,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:43:30,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1833493256] [2022-04-15 05:43:30,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:43:30,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:43:30,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:31,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:43:31,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:31,164 INFO L290 TraceCheckUtils]: 0: Hoare triple {25990#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,165 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {25908#true} #95#return; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:43:31,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:31,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:43:31,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:43:31,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,260 INFO L290 TraceCheckUtils]: 3: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,260 INFO L290 TraceCheckUtils]: 4: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,261 INFO L290 TraceCheckUtils]: 6: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,262 INFO L290 TraceCheckUtils]: 7: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,262 INFO L290 TraceCheckUtils]: 8: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,262 INFO L290 TraceCheckUtils]: 9: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,263 INFO L290 TraceCheckUtils]: 10: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,263 INFO L290 TraceCheckUtils]: 11: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,264 INFO L290 TraceCheckUtils]: 12: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,265 INFO L290 TraceCheckUtils]: 16: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,268 INFO L290 TraceCheckUtils]: 22: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,268 INFO L290 TraceCheckUtils]: 23: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,269 INFO L290 TraceCheckUtils]: 24: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,270 INFO L290 TraceCheckUtils]: 27: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,270 INFO L290 TraceCheckUtils]: 28: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,271 INFO L290 TraceCheckUtils]: 31: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,272 INFO L290 TraceCheckUtils]: 32: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,272 INFO L290 TraceCheckUtils]: 33: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,273 INFO L290 TraceCheckUtils]: 34: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,273 INFO L290 TraceCheckUtils]: 35: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,273 INFO L290 TraceCheckUtils]: 36: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,274 INFO L290 TraceCheckUtils]: 37: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,274 INFO L290 TraceCheckUtils]: 38: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,275 INFO L290 TraceCheckUtils]: 39: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,275 INFO L290 TraceCheckUtils]: 40: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,275 INFO L290 TraceCheckUtils]: 41: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,276 INFO L290 TraceCheckUtils]: 42: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,276 INFO L290 TraceCheckUtils]: 43: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,276 INFO L290 TraceCheckUtils]: 44: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,277 INFO L290 TraceCheckUtils]: 45: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,277 INFO L290 TraceCheckUtils]: 46: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,278 INFO L290 TraceCheckUtils]: 47: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,278 INFO L290 TraceCheckUtils]: 48: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,279 INFO L290 TraceCheckUtils]: 49: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,279 INFO L290 TraceCheckUtils]: 50: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,279 INFO L290 TraceCheckUtils]: 51: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,280 INFO L290 TraceCheckUtils]: 52: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,280 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #91#return; {25975#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2))} is VALID [2022-04-15 05:43:31,281 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:43:31,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:31,283 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 05:43:31,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 05:43:31,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:31,284 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} #93#return; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-15 05:43:31,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:43:31,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:31,287 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 05:43:31,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 05:43:31,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:31,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} #93#return; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-15 05:43:31,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25990#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:43:31,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {25990#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,289 INFO L290 TraceCheckUtils]: 2: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,289 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {25908#true} #95#return; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,290 INFO L272 TraceCheckUtils]: 4: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:43:31,291 INFO L290 TraceCheckUtils]: 6: Hoare triple {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:43:31,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25916#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:43:31,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {25916#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25917#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:43:31,294 INFO L290 TraceCheckUtils]: 11: Hoare triple {25917#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,294 INFO L290 TraceCheckUtils]: 12: Hoare triple {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25919#(and (not (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {25919#(and (not (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,296 INFO L290 TraceCheckUtils]: 16: Hoare triple {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:31,297 INFO L272 TraceCheckUtils]: 17: Hoare triple {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} call SelectionSort(); {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:43:31,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:43:31,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:43:31,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,298 INFO L290 TraceCheckUtils]: 21: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,299 INFO L290 TraceCheckUtils]: 22: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,299 INFO L290 TraceCheckUtils]: 23: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,299 INFO L290 TraceCheckUtils]: 24: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,300 INFO L290 TraceCheckUtils]: 26: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,301 INFO L290 TraceCheckUtils]: 28: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,302 INFO L290 TraceCheckUtils]: 31: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,302 INFO L290 TraceCheckUtils]: 32: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-15 05:43:31,302 INFO L290 TraceCheckUtils]: 33: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,303 INFO L290 TraceCheckUtils]: 34: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,303 INFO L290 TraceCheckUtils]: 35: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,304 INFO L290 TraceCheckUtils]: 36: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,304 INFO L290 TraceCheckUtils]: 37: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,304 INFO L290 TraceCheckUtils]: 38: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,305 INFO L290 TraceCheckUtils]: 39: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,305 INFO L290 TraceCheckUtils]: 40: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,305 INFO L290 TraceCheckUtils]: 41: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,306 INFO L290 TraceCheckUtils]: 42: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,306 INFO L290 TraceCheckUtils]: 43: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,306 INFO L290 TraceCheckUtils]: 44: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,307 INFO L290 TraceCheckUtils]: 45: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,307 INFO L290 TraceCheckUtils]: 46: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,308 INFO L290 TraceCheckUtils]: 47: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,308 INFO L290 TraceCheckUtils]: 48: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,308 INFO L290 TraceCheckUtils]: 49: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,309 INFO L290 TraceCheckUtils]: 50: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,309 INFO L290 TraceCheckUtils]: 51: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,309 INFO L290 TraceCheckUtils]: 52: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,310 INFO L290 TraceCheckUtils]: 53: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,310 INFO L290 TraceCheckUtils]: 54: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,310 INFO L290 TraceCheckUtils]: 55: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,311 INFO L290 TraceCheckUtils]: 56: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,311 INFO L290 TraceCheckUtils]: 57: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,312 INFO L290 TraceCheckUtils]: 58: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,312 INFO L290 TraceCheckUtils]: 59: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,313 INFO L290 TraceCheckUtils]: 60: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,313 INFO L290 TraceCheckUtils]: 61: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,313 INFO L290 TraceCheckUtils]: 62: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,314 INFO L290 TraceCheckUtils]: 63: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,314 INFO L290 TraceCheckUtils]: 64: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,315 INFO L290 TraceCheckUtils]: 65: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,315 INFO L290 TraceCheckUtils]: 66: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,316 INFO L290 TraceCheckUtils]: 67: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,316 INFO L290 TraceCheckUtils]: 68: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,316 INFO L290 TraceCheckUtils]: 69: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,317 INFO L290 TraceCheckUtils]: 70: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-15 05:43:31,318 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #91#return; {25975#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2))} is VALID [2022-04-15 05:43:31,318 INFO L290 TraceCheckUtils]: 72: Hoare triple {25975#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2))} ~i~1 := 0; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-15 05:43:31,318 INFO L290 TraceCheckUtils]: 73: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-15 05:43:31,318 INFO L272 TraceCheckUtils]: 74: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-15 05:43:31,318 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 05:43:31,319 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 05:43:31,319 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:31,319 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25908#true} {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} #93#return; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-15 05:43:31,319 INFO L290 TraceCheckUtils]: 79: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} havoc #t~mem9; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-15 05:43:31,320 INFO L290 TraceCheckUtils]: 80: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-15 05:43:31,320 INFO L290 TraceCheckUtils]: 81: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-15 05:43:31,320 INFO L272 TraceCheckUtils]: 82: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-15 05:43:31,320 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 05:43:31,321 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 05:43:31,321 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:31,321 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25908#true} {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} #93#return; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-15 05:43:31,321 INFO L290 TraceCheckUtils]: 87: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} havoc #t~mem9; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-15 05:43:31,322 INFO L290 TraceCheckUtils]: 88: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25986#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:31,322 INFO L290 TraceCheckUtils]: 89: Hoare triple {25986#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25987#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 2))} is VALID [2022-04-15 05:43:31,323 INFO L272 TraceCheckUtils]: 90: Hoare triple {25987#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25988#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 05:43:31,323 INFO L290 TraceCheckUtils]: 91: Hoare triple {25988#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {25989#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 05:43:31,323 INFO L290 TraceCheckUtils]: 92: Hoare triple {25989#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25909#false} is VALID [2022-04-15 05:43:31,323 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-15 05:43:31,324 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 4 proven. 144 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-15 05:43:31,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:43:31,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1833493256] [2022-04-15 05:43:31,324 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1833493256] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:43:31,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1198988923] [2022-04-15 05:43:31,324 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:43:31,324 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:43:31,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:43:31,325 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:43:31,326 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-15 05:43:31,438 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:43:31,438 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:43:31,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 05:43:31,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:31,456 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:43:31,966 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 05:43:31,966 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-15 05:43:32,098 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-15 05:43:32,098 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 10 [2022-04-15 05:43:32,192 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-15 05:43:32,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {25908#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 6: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 10: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:32,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:32,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:32,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-15 05:43:32,194 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-15 05:43:32,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {25908#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:43:32,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:43:32,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:43:32,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:43:32,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:43:32,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:43:32,205 INFO L290 TraceCheckUtils]: 25: Hoare triple {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,206 INFO L290 TraceCheckUtils]: 28: Hoare triple {26051#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {26051#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,208 INFO L290 TraceCheckUtils]: 33: Hoare triple {26051#(= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:43:32,208 INFO L290 TraceCheckUtils]: 34: Hoare triple {26051#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {26102#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-15 05:43:32,208 INFO L290 TraceCheckUtils]: 35: Hoare triple {26102#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26106#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-15 05:43:32,209 INFO L290 TraceCheckUtils]: 36: Hoare triple {26106#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26110#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:43:32,209 INFO L290 TraceCheckUtils]: 37: Hoare triple {26110#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26114#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:43:32,210 INFO L290 TraceCheckUtils]: 38: Hoare triple {26114#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,210 INFO L290 TraceCheckUtils]: 39: Hoare triple {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,211 INFO L290 TraceCheckUtils]: 40: Hoare triple {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,211 INFO L290 TraceCheckUtils]: 41: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,212 INFO L290 TraceCheckUtils]: 42: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,212 INFO L290 TraceCheckUtils]: 43: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,213 INFO L290 TraceCheckUtils]: 44: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,213 INFO L290 TraceCheckUtils]: 45: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:32,214 INFO L290 TraceCheckUtils]: 46: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26144#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:43:32,214 INFO L290 TraceCheckUtils]: 47: Hoare triple {26144#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {26148#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:43:32,215 INFO L290 TraceCheckUtils]: 48: Hoare triple {26148#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~lh~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26152#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:43:32,215 INFO L290 TraceCheckUtils]: 49: Hoare triple {26152#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26156#(< |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 50: Hoare triple {26156#(< |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 51: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 52: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 53: Hoare triple {25909#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 54: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 56: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 57: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 58: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 59: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 60: Hoare triple {25909#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 61: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:32,216 INFO L290 TraceCheckUtils]: 63: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 64: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 65: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 67: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 68: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 73: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L272 TraceCheckUtils]: 74: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 75: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 76: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-15 05:43:32,217 INFO L290 TraceCheckUtils]: 77: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 80: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 81: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L272 TraceCheckUtils]: 82: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 83: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 84: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 85: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 88: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 89: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L272 TraceCheckUtils]: 90: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-15 05:43:32,218 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 05:43:32,219 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-15 05:43:32,219 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-15 05:43:32,219 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 108 proven. 92 refuted. 0 times theorem prover too weak. 71 trivial. 0 not checked. [2022-04-15 05:43:32,219 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:43:35,787 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 72 [2022-04-15 05:43:35,895 INFO L356 Elim1Store]: treesize reduction 81, result has 52.1 percent of original size [2022-04-15 05:43:35,896 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 2070 treesize of output 1915 [2022-04-15 05:43:36,836 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L272 TraceCheckUtils]: 90: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 89: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 88: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 05:43:36,837 INFO L272 TraceCheckUtils]: 82: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 81: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 80: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-15 05:43:36,837 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 05:43:36,838 INFO L272 TraceCheckUtils]: 74: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 73: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 68: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 67: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:36,838 INFO L290 TraceCheckUtils]: 65: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 64: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 63: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 61: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 60: Hoare triple {25909#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 59: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 58: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 57: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 56: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 54: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 53: Hoare triple {25909#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 52: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-15 05:43:36,839 INFO L290 TraceCheckUtils]: 51: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-15 05:43:36,840 INFO L290 TraceCheckUtils]: 50: Hoare triple {26421#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-15 05:43:36,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {26425#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26421#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-15 05:43:36,841 INFO L290 TraceCheckUtils]: 48: Hoare triple {26429#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26425#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:43:36,842 INFO L290 TraceCheckUtils]: 47: Hoare triple {26433#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {26429#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:36,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26433#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:36,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,844 INFO L290 TraceCheckUtils]: 44: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,845 INFO L290 TraceCheckUtils]: 43: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,846 INFO L290 TraceCheckUtils]: 41: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,848 INFO L290 TraceCheckUtils]: 39: Hoare triple {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,850 INFO L290 TraceCheckUtils]: 38: Hoare triple {26463#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {26467#(or (forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26463#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:43:36,853 INFO L290 TraceCheckUtils]: 36: Hoare triple {26471#(or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26467#(or (forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 35: Hoare triple {25908#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26471#(or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 34: Hoare triple {25908#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {25908#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {25908#true} assume !(~i~0 < ~n~0); {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 28: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 26: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-15 05:43:36,854 INFO L290 TraceCheckUtils]: 25: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 24: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {25908#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {25908#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:36,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 10: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 6: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {25908#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25908#true} is VALID [2022-04-15 05:43:36,856 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-15 05:43:36,857 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 170 proven. 16 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-15 05:43:36,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1198988923] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:43:36,857 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:43:36,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 15, 11] total 43 [2022-04-15 05:43:36,857 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:43:36,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [580183068] [2022-04-15 05:43:36,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [580183068] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:43:36,857 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:43:36,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 05:43:36,857 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2125674040] [2022-04-15 05:43:36,857 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:43:36,858 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 94 [2022-04-15 05:43:36,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:43:36,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:43:36,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:36,902 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 05:43:36,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:43:36,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 05:43:36,903 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=1685, Unknown=1, NotChecked=0, Total=1806 [2022-04-15 05:43:36,903 INFO L87 Difference]: Start difference. First operand 465 states and 642 transitions. Second operand has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:43:43,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:43,708 INFO L93 Difference]: Finished difference Result 490 states and 670 transitions. [2022-04-15 05:43:43,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 05:43:43,708 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 94 [2022-04-15 05:43:43,708 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:43:43,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:43:43,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-15 05:43:43,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:43:43,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-15 05:43:43,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 85 transitions. [2022-04-15 05:43:43,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:43,818 INFO L225 Difference]: With dead ends: 490 [2022-04-15 05:43:43,819 INFO L226 Difference]: Without dead ends: 488 [2022-04-15 05:43:43,819 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 178 SyntacticMatches, 1 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 817 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=308, Invalid=3597, Unknown=1, NotChecked=0, Total=3906 [2022-04-15 05:43:43,820 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 122 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 849 mSolverCounterSat, 120 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 969 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 120 IncrementalHoareTripleChecker+Valid, 849 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-15 05:43:43,820 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 49 Invalid, 969 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [120 Valid, 849 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-15 05:43:43,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 488 states. [2022-04-15 05:43:47,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 488 to 473. [2022-04-15 05:43:47,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:43:47,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 488 states. Second operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:43:47,385 INFO L74 IsIncluded]: Start isIncluded. First operand 488 states. Second operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:43:47,385 INFO L87 Difference]: Start difference. First operand 488 states. Second operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:43:47,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:47,393 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-15 05:43:47,393 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-15 05:43:47,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:43:47,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:43:47,395 INFO L74 IsIncluded]: Start isIncluded. First operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 488 states. [2022-04-15 05:43:47,395 INFO L87 Difference]: Start difference. First operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 488 states. [2022-04-15 05:43:47,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:43:47,403 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-15 05:43:47,403 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-15 05:43:47,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:43:47,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:43:47,404 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:43:47,404 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:43:47,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:43:47,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 473 states to 473 states and 650 transitions. [2022-04-15 05:43:47,413 INFO L78 Accepts]: Start accepts. Automaton has 473 states and 650 transitions. Word has length 94 [2022-04-15 05:43:47,414 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:43:47,414 INFO L478 AbstractCegarLoop]: Abstraction has 473 states and 650 transitions. [2022-04-15 05:43:47,414 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 05:43:47,414 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 473 states and 650 transitions. [2022-04-15 05:43:49,707 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 650 edges. 650 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:49,707 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 650 transitions. [2022-04-15 05:43:49,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 05:43:49,709 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:43:49,710 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:43:49,747 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-15 05:43:49,927 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-15 05:43:49,927 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:43:49,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:43:49,928 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 5 times [2022-04-15 05:43:49,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:43:49,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1882903451] [2022-04-15 05:43:49,931 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:43:49,931 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:43:49,931 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:43:49,931 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 6 times [2022-04-15 05:43:49,931 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:43:49,931 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1854930137] [2022-04-15 05:43:49,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:43:49,931 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:43:49,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:50,009 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:43:50,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:50,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {29594#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,017 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {29522#true} #95#return; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:43:50,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:50,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {29595#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {29522#true} is VALID [2022-04-15 05:43:50,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:43:50,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:43:50,448 INFO L290 TraceCheckUtils]: 3: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:43:50,449 INFO L290 TraceCheckUtils]: 4: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:50,449 INFO L290 TraceCheckUtils]: 5: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:50,450 INFO L290 TraceCheckUtils]: 6: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,450 INFO L290 TraceCheckUtils]: 7: Hoare triple {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:50,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:50,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:50,452 INFO L290 TraceCheckUtils]: 10: Hoare triple {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:43:50,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:43:50,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,453 INFO L290 TraceCheckUtils]: 14: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,453 INFO L290 TraceCheckUtils]: 15: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29522#true} is VALID [2022-04-15 05:43:50,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {29522#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29522#true} is VALID [2022-04-15 05:43:50,453 INFO L290 TraceCheckUtils]: 17: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,454 INFO L290 TraceCheckUtils]: 18: Hoare triple {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:43:50,455 INFO L290 TraceCheckUtils]: 19: Hoare triple {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,457 INFO L290 TraceCheckUtils]: 23: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,459 INFO L290 TraceCheckUtils]: 28: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,460 INFO L290 TraceCheckUtils]: 29: Hoare triple {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 32: Hoare triple {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 33: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 34: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 35: Hoare triple {29523#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 36: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 37: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 38: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 39: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 40: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-15 05:43:50,462 INFO L290 TraceCheckUtils]: 41: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 42: Hoare triple {29523#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 43: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 45: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 46: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 47: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 48: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 49: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 50: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 51: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L290 TraceCheckUtils]: 52: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-15 05:43:50,463 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {29523#false} {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {29523#false} is VALID [2022-04-15 05:43:50,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:43:50,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:50,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 05:43:50,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 05:43:50,479 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 05:43:50,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 05:43:50,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:43:50,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:50,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 05:43:50,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 05:43:50,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 05:43:50,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 05:43:50,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:43:50,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:50,483 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 05:43:50,484 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 05:43:50,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 05:43:50,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 05:43:50,484 INFO L272 TraceCheckUtils]: 0: Hoare triple {29522#true} call ULTIMATE.init(); {29594#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:43:50,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {29594#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {29522#true} #95#return; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,488 INFO L290 TraceCheckUtils]: 10: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,489 INFO L290 TraceCheckUtils]: 11: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,489 INFO L290 TraceCheckUtils]: 12: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:43:50,491 INFO L272 TraceCheckUtils]: 17: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {29595#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:43:50,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {29595#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {29522#true} is VALID [2022-04-15 05:43:50,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:43:50,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:43:50,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:43:50,493 INFO L290 TraceCheckUtils]: 22: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:50,493 INFO L290 TraceCheckUtils]: 23: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:43:50,494 INFO L290 TraceCheckUtils]: 24: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,494 INFO L290 TraceCheckUtils]: 25: Hoare triple {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:50,495 INFO L290 TraceCheckUtils]: 26: Hoare triple {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:50,495 INFO L290 TraceCheckUtils]: 27: Hoare triple {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:43:50,496 INFO L290 TraceCheckUtils]: 28: Hoare triple {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:43:50,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-15 05:43:50,496 INFO L290 TraceCheckUtils]: 30: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,497 INFO L290 TraceCheckUtils]: 32: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,497 INFO L290 TraceCheckUtils]: 33: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29522#true} is VALID [2022-04-15 05:43:50,497 INFO L290 TraceCheckUtils]: 34: Hoare triple {29522#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29522#true} is VALID [2022-04-15 05:43:50,498 INFO L290 TraceCheckUtils]: 35: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,498 INFO L290 TraceCheckUtils]: 36: Hoare triple {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:43:50,506 INFO L290 TraceCheckUtils]: 37: Hoare triple {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,507 INFO L290 TraceCheckUtils]: 38: Hoare triple {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,508 INFO L290 TraceCheckUtils]: 39: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:43:50,508 INFO L290 TraceCheckUtils]: 40: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,509 INFO L290 TraceCheckUtils]: 41: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,509 INFO L290 TraceCheckUtils]: 43: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,510 INFO L290 TraceCheckUtils]: 44: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,510 INFO L290 TraceCheckUtils]: 45: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,511 INFO L290 TraceCheckUtils]: 46: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,512 INFO L290 TraceCheckUtils]: 47: Hoare triple {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,512 INFO L290 TraceCheckUtils]: 48: Hoare triple {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:43:50,513 INFO L290 TraceCheckUtils]: 49: Hoare triple {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 50: Hoare triple {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 51: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 52: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 53: Hoare triple {29523#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 54: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 55: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 56: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 57: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 58: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 59: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 60: Hoare triple {29523#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 61: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-15 05:43:50,514 INFO L290 TraceCheckUtils]: 62: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 63: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 64: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 65: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 66: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 67: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 68: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 69: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 70: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29523#false} {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 72: Hoare triple {29523#false} ~i~1 := 0; {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 73: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-15 05:43:50,515 INFO L272 TraceCheckUtils]: 74: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29522#true} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 75: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 05:43:50,515 INFO L290 TraceCheckUtils]: 76: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 77: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 05:43:50,516 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 79: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 80: Hoare triple {29523#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 81: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L272 TraceCheckUtils]: 82: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29522#true} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 83: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 84: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 85: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 05:43:50,516 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 87: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 88: Hoare triple {29523#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 89: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-15 05:43:50,516 INFO L272 TraceCheckUtils]: 90: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29522#true} is VALID [2022-04-15 05:43:50,516 INFO L290 TraceCheckUtils]: 91: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 92: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 93: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 05:43:50,517 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 95: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 96: Hoare triple {29523#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29523#false} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 97: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-15 05:43:50,517 INFO L272 TraceCheckUtils]: 98: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29523#false} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 99: Hoare triple {29523#false} ~cond := #in~cond; {29523#false} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 100: Hoare triple {29523#false} assume 0 == ~cond; {29523#false} is VALID [2022-04-15 05:43:50,517 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-15 05:43:50,518 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 127 proven. 83 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-15 05:43:50,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:43:50,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1854930137] [2022-04-15 05:43:50,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1854930137] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:43:50,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1578847483] [2022-04-15 05:43:50,518 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:43:50,518 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:43:50,518 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:43:50,519 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:43:50,521 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-15 05:43:50,835 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-15 05:43:50,836 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:43:50,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 05:43:50,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:43:50,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:43:50,917 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:43:50,917 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:43:50,989 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:43:51,092 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:43:51,093 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:43:51,164 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 05:43:51,164 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 30 [2022-04-15 05:43:51,275 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 05:43:51,275 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 34 [2022-04-15 05:43:51,855 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:43:53,017 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:43:53,017 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:43:53,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {29522#true} call ULTIMATE.init(); {29522#true} is VALID [2022-04-15 05:43:53,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:53,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:53,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {29522#true} #95#return; {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:53,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:43:53,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,113 INFO L290 TraceCheckUtils]: 6: Hoare triple {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29639#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {29639#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29643#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:43:53,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {29643#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29647#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,115 INFO L290 TraceCheckUtils]: 10: Hoare triple {29647#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29658#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (= (* main_~i~1 4) 12)))} is VALID [2022-04-15 05:43:53,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {29658#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (= (* main_~i~1 4) 12)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} is VALID [2022-04-15 05:43:53,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} is VALID [2022-04-15 05:43:53,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29669#(and (= 3 |~#array~0.base|) (or (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3)) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,118 INFO L290 TraceCheckUtils]: 16: Hoare triple {29669#(and (= 3 |~#array~0.base|) (or (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3)) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,118 INFO L272 TraceCheckUtils]: 17: Hoare triple {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,120 INFO L290 TraceCheckUtils]: 22: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,121 INFO L290 TraceCheckUtils]: 24: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,121 INFO L290 TraceCheckUtils]: 25: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,121 INFO L290 TraceCheckUtils]: 26: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,122 INFO L290 TraceCheckUtils]: 27: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,124 INFO L290 TraceCheckUtils]: 30: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,124 INFO L290 TraceCheckUtils]: 31: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,125 INFO L290 TraceCheckUtils]: 32: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:43:53,125 INFO L290 TraceCheckUtils]: 33: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,126 INFO L290 TraceCheckUtils]: 34: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,126 INFO L290 TraceCheckUtils]: 35: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,127 INFO L290 TraceCheckUtils]: 36: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,128 INFO L290 TraceCheckUtils]: 38: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,144 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,144 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,145 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,146 INFO L290 TraceCheckUtils]: 42: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,146 INFO L290 TraceCheckUtils]: 43: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,147 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,147 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,149 WARN L290 TraceCheckUtils]: 46: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-15 05:43:53,149 INFO L290 TraceCheckUtils]: 47: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,150 INFO L290 TraceCheckUtils]: 48: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,151 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,151 INFO L290 TraceCheckUtils]: 50: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,152 INFO L290 TraceCheckUtils]: 51: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,152 INFO L290 TraceCheckUtils]: 52: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,153 INFO L290 TraceCheckUtils]: 53: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,153 INFO L290 TraceCheckUtils]: 54: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,154 INFO L290 TraceCheckUtils]: 55: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,156 WARN L290 TraceCheckUtils]: 56: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-15 05:43:53,156 INFO L290 TraceCheckUtils]: 57: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,157 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,158 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,158 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,159 INFO L290 TraceCheckUtils]: 61: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,159 INFO L290 TraceCheckUtils]: 62: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,161 WARN L290 TraceCheckUtils]: 63: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-15 05:43:53,162 INFO L290 TraceCheckUtils]: 64: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,162 INFO L290 TraceCheckUtils]: 65: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,163 INFO L290 TraceCheckUtils]: 66: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,164 WARN L290 TraceCheckUtils]: 67: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-15 05:43:53,165 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,165 INFO L290 TraceCheckUtils]: 69: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~lh~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,166 INFO L290 TraceCheckUtils]: 70: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume true; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-15 05:43:53,167 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #91#return; {29840#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,167 INFO L290 TraceCheckUtils]: 72: Hoare triple {29840#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:43:53,168 INFO L290 TraceCheckUtils]: 73: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:43:53,168 INFO L272 TraceCheckUtils]: 74: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,169 INFO L290 TraceCheckUtils]: 75: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} ~cond := #in~cond; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,170 INFO L290 TraceCheckUtils]: 76: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume !(0 == ~cond); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,170 INFO L290 TraceCheckUtils]: 77: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume true; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,171 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:43:53,171 INFO L290 TraceCheckUtils]: 79: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:43:53,171 INFO L290 TraceCheckUtils]: 80: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:43:53,172 INFO L290 TraceCheckUtils]: 81: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:43:53,173 INFO L272 TraceCheckUtils]: 82: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,173 INFO L290 TraceCheckUtils]: 83: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} ~cond := #in~cond; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,174 INFO L290 TraceCheckUtils]: 84: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume !(0 == ~cond); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,174 INFO L290 TraceCheckUtils]: 85: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume true; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,175 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #93#return; {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:43:53,175 INFO L290 TraceCheckUtils]: 87: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} havoc #t~mem9; {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:43:53,176 INFO L290 TraceCheckUtils]: 88: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,176 INFO L290 TraceCheckUtils]: 89: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,177 INFO L272 TraceCheckUtils]: 90: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,177 INFO L290 TraceCheckUtils]: 91: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} ~cond := #in~cond; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,178 INFO L290 TraceCheckUtils]: 92: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume !(0 == ~cond); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,178 INFO L290 TraceCheckUtils]: 93: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume true; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-15 05:43:53,179 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #93#return; {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,179 INFO L290 TraceCheckUtils]: 95: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:43:53,180 INFO L290 TraceCheckUtils]: 96: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29920#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-15 05:43:53,180 INFO L290 TraceCheckUtils]: 97: Hoare triple {29920#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29924#(and (= 3 |main_#t~mem9|) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-15 05:43:53,181 INFO L272 TraceCheckUtils]: 98: Hoare triple {29924#(and (= 3 |main_#t~mem9|) (= (+ main_~i~1 (- 3)) 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29928#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:43:53,181 INFO L290 TraceCheckUtils]: 99: Hoare triple {29928#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29932#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:43:53,181 INFO L290 TraceCheckUtils]: 100: Hoare triple {29932#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29523#false} is VALID [2022-04-15 05:43:53,181 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-15 05:43:53,182 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 0 proven. 156 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-15 05:43:53,182 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:43:53,586 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1215 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1215) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 12)) 3)) is different from false [2022-04-15 05:43:53,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1578847483] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:43:53,587 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:43:53,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-15 05:43:53,588 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:43:53,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1882903451] [2022-04-15 05:43:53,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1882903451] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:43:53,588 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:43:53,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 05:43:53,588 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [861666464] [2022-04-15 05:43:53,588 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:43:53,588 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 102 [2022-04-15 05:43:53,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:43:53,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:43:53,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:43:53,634 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 05:43:53,634 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:43:53,634 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 05:43:53,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2090, Unknown=11, NotChecked=92, Total=2352 [2022-04-15 05:43:53,634 INFO L87 Difference]: Start difference. First operand 473 states and 650 transitions. Second operand has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:07,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:44:07,675 INFO L93 Difference]: Finished difference Result 1370 states and 1890 transitions. [2022-04-15 05:44:07,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2022-04-15 05:44:07,675 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 102 [2022-04-15 05:44:07,676 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:44:07,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:07,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-15 05:44:07,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:07,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-15 05:44:07,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 217 transitions. [2022-04-15 05:44:07,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:44:07,944 INFO L225 Difference]: With dead ends: 1370 [2022-04-15 05:44:07,944 INFO L226 Difference]: Without dead ends: 1021 [2022-04-15 05:44:07,945 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 122 SyntacticMatches, 11 SemanticMatches, 98 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 2371 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=725, Invalid=8968, Unknown=13, NotChecked=194, Total=9900 [2022-04-15 05:44:07,946 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 278 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 1172 mSolverCounterSat, 244 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 278 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 244 IncrementalHoareTripleChecker+Valid, 1172 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-15 05:44:07,946 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [278 Valid, 45 Invalid, 1416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [244 Valid, 1172 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-15 05:44:07,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1021 states. [2022-04-15 05:44:13,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1021 to 610. [2022-04-15 05:44:13,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:44:13,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1021 states. Second operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:44:13,186 INFO L74 IsIncluded]: Start isIncluded. First operand 1021 states. Second operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:44:13,187 INFO L87 Difference]: Start difference. First operand 1021 states. Second operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:44:13,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:44:13,216 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-15 05:44:13,216 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-15 05:44:13,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:44:13,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:44:13,218 INFO L74 IsIncluded]: Start isIncluded. First operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 1021 states. [2022-04-15 05:44:13,218 INFO L87 Difference]: Start difference. First operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 1021 states. [2022-04-15 05:44:13,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:44:13,247 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-15 05:44:13,247 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-15 05:44:13,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:44:13,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:44:13,248 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:44:13,248 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:44:13,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 05:44:13,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 610 states to 610 states and 830 transitions. [2022-04-15 05:44:13,263 INFO L78 Accepts]: Start accepts. Automaton has 610 states and 830 transitions. Word has length 102 [2022-04-15 05:44:13,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:44:13,263 INFO L478 AbstractCegarLoop]: Abstraction has 610 states and 830 transitions. [2022-04-15 05:44:13,264 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:13,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 610 states and 830 transitions. [2022-04-15 05:44:16,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 830 edges. 830 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:44:16,585 INFO L276 IsEmpty]: Start isEmpty. Operand 610 states and 830 transitions. [2022-04-15 05:44:16,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 05:44:16,586 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:44:16,586 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:44:16,603 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Ended with exit code 0 [2022-04-15 05:44:16,803 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-15 05:44:16,803 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:44:16,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:44:16,804 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 7 times [2022-04-15 05:44:16,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:44:16,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [784222908] [2022-04-15 05:44:16,806 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:44:16,806 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:44:16,806 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:44:16,806 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 8 times [2022-04-15 05:44:16,806 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:44:16,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1674958903] [2022-04-15 05:44:16,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:44:16,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:44:16,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:17,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:44:17,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:17,500 INFO L290 TraceCheckUtils]: 0: Hoare triple {36241#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,501 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {36154#true} #95#return; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,512 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:44:17,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:17,568 INFO L290 TraceCheckUtils]: 0: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,570 INFO L290 TraceCheckUtils]: 3: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,571 INFO L290 TraceCheckUtils]: 4: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,571 INFO L290 TraceCheckUtils]: 6: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,573 INFO L290 TraceCheckUtils]: 10: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,573 INFO L290 TraceCheckUtils]: 12: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,575 INFO L290 TraceCheckUtils]: 15: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,575 INFO L290 TraceCheckUtils]: 16: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,575 INFO L290 TraceCheckUtils]: 17: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,575 INFO L290 TraceCheckUtils]: 18: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,576 INFO L290 TraceCheckUtils]: 21: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,577 INFO L290 TraceCheckUtils]: 23: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,577 INFO L290 TraceCheckUtils]: 24: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,577 INFO L290 TraceCheckUtils]: 25: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,578 INFO L290 TraceCheckUtils]: 27: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,578 INFO L290 TraceCheckUtils]: 28: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,579 INFO L290 TraceCheckUtils]: 29: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,579 INFO L290 TraceCheckUtils]: 32: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,580 INFO L290 TraceCheckUtils]: 33: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,580 INFO L290 TraceCheckUtils]: 34: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,580 INFO L290 TraceCheckUtils]: 35: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,580 INFO L290 TraceCheckUtils]: 36: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,581 INFO L290 TraceCheckUtils]: 38: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,582 INFO L290 TraceCheckUtils]: 40: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,582 INFO L290 TraceCheckUtils]: 41: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,582 INFO L290 TraceCheckUtils]: 42: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,582 INFO L290 TraceCheckUtils]: 43: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,583 INFO L290 TraceCheckUtils]: 44: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,583 INFO L290 TraceCheckUtils]: 45: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,583 INFO L290 TraceCheckUtils]: 46: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,584 INFO L290 TraceCheckUtils]: 47: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,584 INFO L290 TraceCheckUtils]: 48: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,584 INFO L290 TraceCheckUtils]: 49: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,585 INFO L290 TraceCheckUtils]: 50: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,585 INFO L290 TraceCheckUtils]: 51: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,585 INFO L290 TraceCheckUtils]: 52: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,586 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #91#return; {36221#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,586 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:44:17,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:17,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 05:44:17,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 05:44:17,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 05:44:17,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36154#true} {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} #93#return; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-15 05:44:17,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:44:17,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:17,593 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 05:44:17,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 05:44:17,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 05:44:17,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36154#true} {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:44:17,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:17,597 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 05:44:17,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 05:44:17,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 05:44:17,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36154#true} {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {36154#true} call ULTIMATE.init(); {36241#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:44:17,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {36241#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {36154#true} #95#return; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:44:17,601 INFO L290 TraceCheckUtils]: 6: Hoare triple {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:44:17,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36161#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {36161#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36162#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) 3) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {36162#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) 3) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,603 INFO L290 TraceCheckUtils]: 10: Hoare triple {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,604 INFO L290 TraceCheckUtils]: 12: Hoare triple {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36165#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (or (and (not (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {36165#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (or (and (not (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,606 INFO L290 TraceCheckUtils]: 16: Hoare triple {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:17,607 INFO L272 TraceCheckUtils]: 17: Hoare triple {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} call SelectionSort(); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,608 INFO L290 TraceCheckUtils]: 22: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,610 INFO L290 TraceCheckUtils]: 27: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,610 INFO L290 TraceCheckUtils]: 28: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,610 INFO L290 TraceCheckUtils]: 29: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,610 INFO L290 TraceCheckUtils]: 30: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,611 INFO L290 TraceCheckUtils]: 32: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:17,612 INFO L290 TraceCheckUtils]: 33: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,612 INFO L290 TraceCheckUtils]: 35: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,612 INFO L290 TraceCheckUtils]: 37: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,613 INFO L290 TraceCheckUtils]: 38: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,613 INFO L290 TraceCheckUtils]: 39: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,613 INFO L290 TraceCheckUtils]: 40: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,613 INFO L290 TraceCheckUtils]: 41: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,614 INFO L290 TraceCheckUtils]: 42: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,614 INFO L290 TraceCheckUtils]: 43: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,615 INFO L290 TraceCheckUtils]: 46: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,615 INFO L290 TraceCheckUtils]: 47: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,615 INFO L290 TraceCheckUtils]: 48: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,616 INFO L290 TraceCheckUtils]: 49: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,616 INFO L290 TraceCheckUtils]: 50: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,616 INFO L290 TraceCheckUtils]: 51: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,616 INFO L290 TraceCheckUtils]: 52: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,617 INFO L290 TraceCheckUtils]: 54: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,617 INFO L290 TraceCheckUtils]: 55: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,618 INFO L290 TraceCheckUtils]: 56: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,618 INFO L290 TraceCheckUtils]: 57: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,618 INFO L290 TraceCheckUtils]: 58: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,618 INFO L290 TraceCheckUtils]: 59: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,619 INFO L290 TraceCheckUtils]: 60: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,619 INFO L290 TraceCheckUtils]: 61: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,619 INFO L290 TraceCheckUtils]: 62: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,620 INFO L290 TraceCheckUtils]: 63: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,620 INFO L290 TraceCheckUtils]: 64: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,620 INFO L290 TraceCheckUtils]: 65: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,620 INFO L290 TraceCheckUtils]: 66: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,621 INFO L290 TraceCheckUtils]: 67: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,621 INFO L290 TraceCheckUtils]: 68: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,621 INFO L290 TraceCheckUtils]: 69: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,622 INFO L290 TraceCheckUtils]: 70: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-15 05:44:17,622 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #91#return; {36221#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,623 INFO L290 TraceCheckUtils]: 72: Hoare triple {36221#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} ~i~1 := 0; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-15 05:44:17,623 INFO L290 TraceCheckUtils]: 73: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-15 05:44:17,623 INFO L272 TraceCheckUtils]: 74: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36154#true} is VALID [2022-04-15 05:44:17,623 INFO L290 TraceCheckUtils]: 75: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 05:44:17,623 INFO L290 TraceCheckUtils]: 76: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 05:44:17,623 INFO L290 TraceCheckUtils]: 77: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 05:44:17,624 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {36154#true} {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} #93#return; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-15 05:44:17,624 INFO L290 TraceCheckUtils]: 79: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} havoc #t~mem9; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-15 05:44:17,625 INFO L290 TraceCheckUtils]: 80: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,625 INFO L290 TraceCheckUtils]: 81: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,625 INFO L272 TraceCheckUtils]: 82: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36154#true} is VALID [2022-04-15 05:44:17,625 INFO L290 TraceCheckUtils]: 83: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 05:44:17,625 INFO L290 TraceCheckUtils]: 84: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 05:44:17,625 INFO L290 TraceCheckUtils]: 85: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 05:44:17,626 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {36154#true} {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,626 INFO L290 TraceCheckUtils]: 87: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} havoc #t~mem9; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,627 INFO L290 TraceCheckUtils]: 88: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,627 INFO L290 TraceCheckUtils]: 89: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,627 INFO L272 TraceCheckUtils]: 90: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36154#true} is VALID [2022-04-15 05:44:17,627 INFO L290 TraceCheckUtils]: 91: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 05:44:17,627 INFO L290 TraceCheckUtils]: 92: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 05:44:17,627 INFO L290 TraceCheckUtils]: 93: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 05:44:17,628 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {36154#true} {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,628 INFO L290 TraceCheckUtils]: 95: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} havoc #t~mem9; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-15 05:44:17,628 INFO L290 TraceCheckUtils]: 96: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36237#(and (= |main_~#array~1.offset| 0) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:44:17,629 INFO L290 TraceCheckUtils]: 97: Hoare triple {36237#(and (= |main_~#array~1.offset| 0) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} is VALID [2022-04-15 05:44:17,629 INFO L272 TraceCheckUtils]: 98: Hoare triple {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36239#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 05:44:17,630 INFO L290 TraceCheckUtils]: 99: Hoare triple {36239#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {36240#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 05:44:17,630 INFO L290 TraceCheckUtils]: 100: Hoare triple {36240#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36155#false} is VALID [2022-04-15 05:44:17,630 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-15 05:44:17,630 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 6 proven. 150 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-15 05:44:17,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:44:17,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1674958903] [2022-04-15 05:44:17,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1674958903] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:44:17,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1560883440] [2022-04-15 05:44:17,631 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:44:17,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:44:17,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:44:17,632 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:44:17,634 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-15 05:44:17,764 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:44:17,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:44:17,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 05:44:17,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:17,785 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:44:17,837 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:44:17,837 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:44:17,906 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:44:17,996 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:44:17,997 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:44:18,062 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:44:18,063 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:44:18,144 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:44:18,144 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:44:18,717 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:44:19,850 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:44:19,851 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:44:19,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {36154#true} call ULTIMATE.init(); {36154#true} is VALID [2022-04-15 05:44:19,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:44:19,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:44:19,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {36154#true} #95#return; {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:44:19,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:44:19,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,940 INFO L290 TraceCheckUtils]: 6: Hoare triple {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36270#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {36270#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36274#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:44:19,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {36274#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,947 INFO L290 TraceCheckUtils]: 10: Hoare triple {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:44:19,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:44:19,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36292#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-15 05:44:19,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {36292#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,951 INFO L272 TraceCheckUtils]: 17: Hoare triple {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,951 INFO L290 TraceCheckUtils]: 18: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,953 INFO L290 TraceCheckUtils]: 21: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,953 INFO L290 TraceCheckUtils]: 23: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,954 INFO L290 TraceCheckUtils]: 24: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,955 INFO L290 TraceCheckUtils]: 27: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,955 INFO L290 TraceCheckUtils]: 28: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,957 INFO L290 TraceCheckUtils]: 32: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:44:19,957 INFO L290 TraceCheckUtils]: 33: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,958 INFO L290 TraceCheckUtils]: 34: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,959 INFO L290 TraceCheckUtils]: 35: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,959 INFO L290 TraceCheckUtils]: 36: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,960 INFO L290 TraceCheckUtils]: 37: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,960 INFO L290 TraceCheckUtils]: 38: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,961 INFO L290 TraceCheckUtils]: 39: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,962 INFO L290 TraceCheckUtils]: 40: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,962 INFO L290 TraceCheckUtils]: 41: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,963 INFO L290 TraceCheckUtils]: 42: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,963 INFO L290 TraceCheckUtils]: 43: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,964 INFO L290 TraceCheckUtils]: 44: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,964 INFO L290 TraceCheckUtils]: 45: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,966 WARN L290 TraceCheckUtils]: 46: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-15 05:44:19,967 INFO L290 TraceCheckUtils]: 47: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,967 INFO L290 TraceCheckUtils]: 48: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,968 INFO L290 TraceCheckUtils]: 49: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,969 INFO L290 TraceCheckUtils]: 50: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,969 INFO L290 TraceCheckUtils]: 51: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,970 INFO L290 TraceCheckUtils]: 52: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,970 INFO L290 TraceCheckUtils]: 53: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,971 INFO L290 TraceCheckUtils]: 54: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,971 INFO L290 TraceCheckUtils]: 55: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,973 WARN L290 TraceCheckUtils]: 56: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-15 05:44:19,974 INFO L290 TraceCheckUtils]: 57: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,974 INFO L290 TraceCheckUtils]: 58: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,975 INFO L290 TraceCheckUtils]: 59: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,975 INFO L290 TraceCheckUtils]: 60: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,976 INFO L290 TraceCheckUtils]: 61: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,977 INFO L290 TraceCheckUtils]: 62: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,978 WARN L290 TraceCheckUtils]: 63: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-15 05:44:19,979 INFO L290 TraceCheckUtils]: 64: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,980 INFO L290 TraceCheckUtils]: 65: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,980 INFO L290 TraceCheckUtils]: 66: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,982 WARN L290 TraceCheckUtils]: 67: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-15 05:44:19,983 INFO L290 TraceCheckUtils]: 68: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,983 INFO L290 TraceCheckUtils]: 69: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~lh~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,984 INFO L290 TraceCheckUtils]: 70: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume true; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-15 05:44:19,985 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #91#return; {36470#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,985 INFO L290 TraceCheckUtils]: 72: Hoare triple {36470#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:44:19,986 INFO L290 TraceCheckUtils]: 73: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:44:19,986 INFO L272 TraceCheckUtils]: 74: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,987 INFO L290 TraceCheckUtils]: 75: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} ~cond := #in~cond; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,987 INFO L290 TraceCheckUtils]: 76: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume !(0 == ~cond); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,987 INFO L290 TraceCheckUtils]: 77: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume true; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,988 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:44:19,988 INFO L290 TraceCheckUtils]: 79: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:44:19,989 INFO L290 TraceCheckUtils]: 80: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:44:19,989 INFO L290 TraceCheckUtils]: 81: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:44:19,990 INFO L272 TraceCheckUtils]: 82: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,990 INFO L290 TraceCheckUtils]: 83: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} ~cond := #in~cond; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,991 INFO L290 TraceCheckUtils]: 84: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume !(0 == ~cond); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,991 INFO L290 TraceCheckUtils]: 85: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume true; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,991 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #93#return; {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:44:19,992 INFO L290 TraceCheckUtils]: 87: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} havoc #t~mem9; {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:44:19,992 INFO L290 TraceCheckUtils]: 88: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:44:19,993 INFO L290 TraceCheckUtils]: 89: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:44:19,994 INFO L272 TraceCheckUtils]: 90: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,994 INFO L290 TraceCheckUtils]: 91: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} ~cond := #in~cond; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,994 INFO L290 TraceCheckUtils]: 92: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume !(0 == ~cond); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,994 INFO L290 TraceCheckUtils]: 93: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume true; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-15 05:44:19,995 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #93#return; {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:44:19,995 INFO L290 TraceCheckUtils]: 95: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} havoc #t~mem9; {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:44:19,996 INFO L290 TraceCheckUtils]: 96: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36550#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:44:19,996 INFO L290 TraceCheckUtils]: 97: Hoare triple {36550#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} is VALID [2022-04-15 05:44:19,997 INFO L272 TraceCheckUtils]: 98: Hoare triple {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36557#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:44:19,997 INFO L290 TraceCheckUtils]: 99: Hoare triple {36557#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {36561#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:44:19,998 INFO L290 TraceCheckUtils]: 100: Hoare triple {36561#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {36155#false} is VALID [2022-04-15 05:44:19,998 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-15 05:44:19,998 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 4 proven. 152 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-15 05:44:19,998 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:44:20,322 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1304 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1304) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 12)) 3)) is different from false [2022-04-15 05:44:20,323 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1560883440] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:44:20,323 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:44:20,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 39 [2022-04-15 05:44:20,324 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:44:20,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [784222908] [2022-04-15 05:44:20,324 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [784222908] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:44:20,324 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:44:20,324 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 05:44:20,324 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [462767867] [2022-04-15 05:44:20,324 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:44:20,324 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 102 [2022-04-15 05:44:20,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:44:20,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:44:20,366 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:44:20,367 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 05:44:20,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:44:20,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 05:44:20,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=1802, Unknown=11, NotChecked=86, Total=2070 [2022-04-15 05:44:20,367 INFO L87 Difference]: Start difference. First operand 610 states and 830 transitions. Second operand has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:44:28,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:44:28,344 INFO L93 Difference]: Finished difference Result 631 states and 853 transitions. [2022-04-15 05:44:28,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 05:44:28,344 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 102 [2022-04-15 05:44:28,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:44:28,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:44:28,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-15 05:44:28,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:44:28,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-15 05:44:28,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 85 transitions. [2022-04-15 05:44:28,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:44:28,463 INFO L225 Difference]: With dead ends: 631 [2022-04-15 05:44:28,463 INFO L226 Difference]: Without dead ends: 629 [2022-04-15 05:44:28,464 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 113 SyntacticMatches, 12 SemanticMatches, 63 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1148 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=435, Invalid=3584, Unknown=17, NotChecked=124, Total=4160 [2022-04-15 05:44:28,465 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 130 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 703 mSolverCounterSat, 147 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 05:44:28,465 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [130 Valid, 43 Invalid, 850 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [147 Valid, 703 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 05:44:28,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 629 states. [2022-04-15 05:44:33,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 629 to 618. [2022-04-15 05:44:33,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:44:33,757 INFO L82 GeneralOperation]: Start isEquivalent. First operand 629 states. Second operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:44:33,757 INFO L74 IsIncluded]: Start isIncluded. First operand 629 states. Second operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:44:33,758 INFO L87 Difference]: Start difference. First operand 629 states. Second operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:44:33,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:44:33,774 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-15 05:44:33,774 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-15 05:44:33,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:44:33,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:44:33,776 INFO L74 IsIncluded]: Start isIncluded. First operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 629 states. [2022-04-15 05:44:33,776 INFO L87 Difference]: Start difference. First operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 629 states. [2022-04-15 05:44:33,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:44:33,793 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-15 05:44:33,793 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-15 05:44:33,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:44:33,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:44:33,794 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:44:33,794 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:44:33,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:44:33,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 838 transitions. [2022-04-15 05:44:33,838 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 838 transitions. Word has length 102 [2022-04-15 05:44:33,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:44:33,838 INFO L478 AbstractCegarLoop]: Abstraction has 618 states and 838 transitions. [2022-04-15 05:44:33,838 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 05:44:33,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 838 transitions. [2022-04-15 05:44:37,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 838 edges. 838 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:44:37,012 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 838 transitions. [2022-04-15 05:44:37,013 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:44:37,013 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:44:37,013 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:44:37,029 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2022-04-15 05:44:37,213 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-15 05:44:37,213 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:44:37,214 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:44:37,214 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 9 times [2022-04-15 05:44:37,214 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:44:37,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [264356592] [2022-04-15 05:44:37,216 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:44:37,216 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:44:37,216 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:44:37,216 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 10 times [2022-04-15 05:44:37,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:44:37,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [184137181] [2022-04-15 05:44:37,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:44:37,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:44:37,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:37,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:44:37,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:37,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {40539#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume true; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,453 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} {40462#true} #95#return; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:44:37,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:37,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {40540#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:44:37,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:44:37,760 INFO L290 TraceCheckUtils]: 3: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:44:37,761 INFO L290 TraceCheckUtils]: 4: Hoare triple {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} is VALID [2022-04-15 05:44:37,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-15 05:44:37,762 INFO L290 TraceCheckUtils]: 6: Hoare triple {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-15 05:44:37,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-15 05:44:37,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,764 INFO L290 TraceCheckUtils]: 10: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,765 INFO L290 TraceCheckUtils]: 11: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,766 INFO L290 TraceCheckUtils]: 14: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !(~i~0 < ~n~0); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,766 INFO L290 TraceCheckUtils]: 15: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,767 INFO L290 TraceCheckUtils]: 16: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,767 INFO L290 TraceCheckUtils]: 17: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,768 INFO L290 TraceCheckUtils]: 19: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,768 INFO L290 TraceCheckUtils]: 21: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,768 INFO L290 TraceCheckUtils]: 22: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,769 INFO L290 TraceCheckUtils]: 23: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,769 INFO L290 TraceCheckUtils]: 24: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,770 INFO L290 TraceCheckUtils]: 26: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,770 INFO L290 TraceCheckUtils]: 27: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,770 INFO L290 TraceCheckUtils]: 28: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,770 INFO L290 TraceCheckUtils]: 29: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,771 INFO L290 TraceCheckUtils]: 30: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,771 INFO L290 TraceCheckUtils]: 31: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,771 INFO L290 TraceCheckUtils]: 32: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,772 INFO L290 TraceCheckUtils]: 33: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,772 INFO L290 TraceCheckUtils]: 34: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,772 INFO L290 TraceCheckUtils]: 35: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,772 INFO L290 TraceCheckUtils]: 36: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,773 INFO L290 TraceCheckUtils]: 37: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,773 INFO L290 TraceCheckUtils]: 38: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,773 INFO L290 TraceCheckUtils]: 39: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,774 INFO L290 TraceCheckUtils]: 41: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,774 INFO L290 TraceCheckUtils]: 42: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,774 INFO L290 TraceCheckUtils]: 43: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,776 INFO L290 TraceCheckUtils]: 45: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,776 INFO L290 TraceCheckUtils]: 46: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,777 INFO L290 TraceCheckUtils]: 47: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,777 INFO L290 TraceCheckUtils]: 48: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,777 INFO L290 TraceCheckUtils]: 49: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,777 INFO L290 TraceCheckUtils]: 50: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,778 INFO L290 TraceCheckUtils]: 51: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~lh~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,778 INFO L290 TraceCheckUtils]: 52: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume true; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,779 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #91#return; {40463#false} is VALID [2022-04-15 05:44:37,779 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:44:37,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:37,782 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:44:37,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:37,785 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,785 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:44:37,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:37,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:44:37,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:37,796 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,797 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40539#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:44:37,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {40539#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume true; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} {40462#true} #95#return; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,801 INFO L290 TraceCheckUtils]: 5: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,802 INFO L290 TraceCheckUtils]: 6: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,804 INFO L290 TraceCheckUtils]: 9: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,804 INFO L290 TraceCheckUtils]: 10: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,806 INFO L290 TraceCheckUtils]: 13: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,807 INFO L290 TraceCheckUtils]: 15: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,807 INFO L290 TraceCheckUtils]: 16: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:44:37,808 INFO L272 TraceCheckUtils]: 17: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} call SelectionSort(); {40540#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:44:37,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {40540#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,809 INFO L290 TraceCheckUtils]: 19: Hoare triple {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:44:37,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:44:37,810 INFO L290 TraceCheckUtils]: 21: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:44:37,810 INFO L290 TraceCheckUtils]: 22: Hoare triple {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} is VALID [2022-04-15 05:44:37,811 INFO L290 TraceCheckUtils]: 23: Hoare triple {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-15 05:44:37,811 INFO L290 TraceCheckUtils]: 24: Hoare triple {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-15 05:44:37,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-15 05:44:37,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,813 INFO L290 TraceCheckUtils]: 28: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,814 INFO L290 TraceCheckUtils]: 29: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,814 INFO L290 TraceCheckUtils]: 30: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,815 INFO L290 TraceCheckUtils]: 31: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,815 INFO L290 TraceCheckUtils]: 32: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !(~i~0 < ~n~0); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:44:37,816 INFO L290 TraceCheckUtils]: 33: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,816 INFO L290 TraceCheckUtils]: 34: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,816 INFO L290 TraceCheckUtils]: 36: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,817 INFO L290 TraceCheckUtils]: 37: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,817 INFO L290 TraceCheckUtils]: 38: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,817 INFO L290 TraceCheckUtils]: 39: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,818 INFO L290 TraceCheckUtils]: 40: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,818 INFO L290 TraceCheckUtils]: 41: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,818 INFO L290 TraceCheckUtils]: 42: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,818 INFO L290 TraceCheckUtils]: 43: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,819 INFO L290 TraceCheckUtils]: 44: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,819 INFO L290 TraceCheckUtils]: 45: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,819 INFO L290 TraceCheckUtils]: 46: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,819 INFO L290 TraceCheckUtils]: 47: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,820 INFO L290 TraceCheckUtils]: 48: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,820 INFO L290 TraceCheckUtils]: 49: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,820 INFO L290 TraceCheckUtils]: 50: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,821 INFO L290 TraceCheckUtils]: 51: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,821 INFO L290 TraceCheckUtils]: 52: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,821 INFO L290 TraceCheckUtils]: 53: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,821 INFO L290 TraceCheckUtils]: 54: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,822 INFO L290 TraceCheckUtils]: 55: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,822 INFO L290 TraceCheckUtils]: 56: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,822 INFO L290 TraceCheckUtils]: 57: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,823 INFO L290 TraceCheckUtils]: 58: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,823 INFO L290 TraceCheckUtils]: 59: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,823 INFO L290 TraceCheckUtils]: 60: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,823 INFO L290 TraceCheckUtils]: 61: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,824 INFO L290 TraceCheckUtils]: 62: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,824 INFO L290 TraceCheckUtils]: 63: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,824 INFO L290 TraceCheckUtils]: 64: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,825 INFO L290 TraceCheckUtils]: 65: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,825 INFO L290 TraceCheckUtils]: 66: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,825 INFO L290 TraceCheckUtils]: 67: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,825 INFO L290 TraceCheckUtils]: 68: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,826 INFO L290 TraceCheckUtils]: 69: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~lh~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,826 INFO L290 TraceCheckUtils]: 70: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume true; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:44:37,827 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #91#return; {40463#false} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 73: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:37,827 INFO L272 TraceCheckUtils]: 74: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,827 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 80: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 81: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:37,827 INFO L272 TraceCheckUtils]: 82: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,827 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,828 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 88: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 89: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L272 TraceCheckUtils]: 90: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,828 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 96: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 97: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:37,828 INFO L272 TraceCheckUtils]: 98: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:37,828 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:37,829 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:37,829 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:37,829 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:37,829 INFO L290 TraceCheckUtils]: 104: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:37,829 INFO L290 TraceCheckUtils]: 105: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:37,829 INFO L272 TraceCheckUtils]: 106: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-15 05:44:37,829 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 05:44:37,829 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-15 05:44:37,829 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-15 05:44:37,830 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 8 proven. 126 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-15 05:44:37,830 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:44:37,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [184137181] [2022-04-15 05:44:37,830 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [184137181] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:44:37,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1279475800] [2022-04-15 05:44:37,830 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:44:37,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:44:37,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:44:37,831 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:44:37,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-15 05:44:37,977 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:44:37,977 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:44:37,979 INFO L263 TraceCheckSpWp]: Trace formula consists of 326 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-15 05:44:38,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:44:38,006 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:44:38,490 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 05:44:38,491 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-15 05:44:38,863 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 05:44:38,863 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-15 05:44:39,307 INFO L356 Elim1Store]: treesize reduction 273, result has 8.1 percent of original size [2022-04-15 05:44:39,307 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 70 treesize of output 45 [2022-04-15 05:44:39,463 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-15 05:44:39,464 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 36 treesize of output 12 [2022-04-15 05:44:39,564 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-15 05:44:39,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40462#true} is VALID [2022-04-15 05:44:39,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:39,564 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-15 05:44:39,564 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {40462#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 6: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 10: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 11: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 15: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-15 05:44:39,565 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-15 05:44:39,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {40462#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40607#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:44:39,566 INFO L290 TraceCheckUtils]: 19: Hoare triple {40607#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40611#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {40611#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40615#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:44:39,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {40615#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40619#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,568 INFO L290 TraceCheckUtils]: 22: Hoare triple {40619#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,568 INFO L290 TraceCheckUtils]: 23: Hoare triple {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,569 INFO L290 TraceCheckUtils]: 24: Hoare triple {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,569 INFO L290 TraceCheckUtils]: 25: Hoare triple {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,570 INFO L290 TraceCheckUtils]: 26: Hoare triple {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,570 INFO L290 TraceCheckUtils]: 27: Hoare triple {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,571 INFO L290 TraceCheckUtils]: 28: Hoare triple {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:44:39,571 INFO L290 TraceCheckUtils]: 29: Hoare triple {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:44:39,572 INFO L290 TraceCheckUtils]: 30: Hoare triple {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} is VALID [2022-04-15 05:44:39,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} is VALID [2022-04-15 05:44:39,573 INFO L290 TraceCheckUtils]: 32: Hoare triple {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} assume !(~i~0 < ~n~0); {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} is VALID [2022-04-15 05:44:39,573 INFO L290 TraceCheckUtils]: 33: Hoare triple {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40660#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:44:39,574 INFO L290 TraceCheckUtils]: 34: Hoare triple {40660#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40664#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:39,574 INFO L290 TraceCheckUtils]: 35: Hoare triple {40664#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:39,575 INFO L290 TraceCheckUtils]: 36: Hoare triple {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:39,575 INFO L290 TraceCheckUtils]: 37: Hoare triple {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:39,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:39,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:39,577 INFO L290 TraceCheckUtils]: 40: Hoare triple {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,577 INFO L290 TraceCheckUtils]: 41: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,578 INFO L290 TraceCheckUtils]: 42: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,578 INFO L290 TraceCheckUtils]: 43: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,578 INFO L290 TraceCheckUtils]: 44: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,580 INFO L290 TraceCheckUtils]: 46: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40704#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:39,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {40704#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40708#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:44:39,581 INFO L290 TraceCheckUtils]: 48: Hoare triple {40708#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:44:39,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:44:39,582 INFO L290 TraceCheckUtils]: 50: Hoare triple {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:44:39,582 INFO L290 TraceCheckUtils]: 51: Hoare triple {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40722#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:44:39,583 INFO L290 TraceCheckUtils]: 52: Hoare triple {40722#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40726#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:44:39,583 INFO L290 TraceCheckUtils]: 53: Hoare triple {40726#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,584 INFO L290 TraceCheckUtils]: 54: Hoare triple {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,601 INFO L290 TraceCheckUtils]: 55: Hoare triple {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:44:39,603 INFO L290 TraceCheckUtils]: 56: Hoare triple {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40740#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-15 05:44:39,604 INFO L290 TraceCheckUtils]: 57: Hoare triple {40740#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 2))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40744#(and (= SelectionSort_~lh~0 3) (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))))} is VALID [2022-04-15 05:44:39,604 INFO L290 TraceCheckUtils]: 58: Hoare triple {40744#(and (= SelectionSort_~lh~0 3) (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40748#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} is VALID [2022-04-15 05:44:39,605 INFO L290 TraceCheckUtils]: 59: Hoare triple {40748#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40752#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:44:39,605 INFO L290 TraceCheckUtils]: 60: Hoare triple {40752#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40463#false} is VALID [2022-04-15 05:44:39,605 INFO L290 TraceCheckUtils]: 61: Hoare triple {40463#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40463#false} is VALID [2022-04-15 05:44:39,605 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 05:44:39,605 INFO L290 TraceCheckUtils]: 63: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-15 05:44:39,605 INFO L290 TraceCheckUtils]: 64: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-15 05:44:39,605 INFO L290 TraceCheckUtils]: 65: Hoare triple {40463#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 67: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 68: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 73: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L272 TraceCheckUtils]: 74: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 75: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 76: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 77: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:39,606 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 80: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 81: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L272 TraceCheckUtils]: 82: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 83: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 84: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 85: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 88: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 89: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L272 TraceCheckUtils]: 90: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 91: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 92: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 05:44:39,607 INFO L290 TraceCheckUtils]: 93: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 96: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 97: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L272 TraceCheckUtils]: 98: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 99: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 100: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 101: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 104: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 105: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L272 TraceCheckUtils]: 106: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 05:44:39,608 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-15 05:44:39,609 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-15 05:44:39,609 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 55 proven. 169 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-15 05:44:39,609 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:44:46,318 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 133 treesize of output 119 [2022-04-15 05:44:46,483 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-15 05:44:46,483 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 3143 treesize of output 2904 [2022-04-15 05:44:49,120 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L272 TraceCheckUtils]: 106: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 105: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 104: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:49,121 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:49,122 INFO L272 TraceCheckUtils]: 98: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 97: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 96: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:49,122 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:49,122 INFO L272 TraceCheckUtils]: 90: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 89: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 88: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:49,122 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:49,122 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L272 TraceCheckUtils]: 82: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 81: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 80: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 05:44:49,123 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L272 TraceCheckUtils]: 74: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 73: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-15 05:44:49,123 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-15 05:44:49,123 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 68: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 67: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 65: Hoare triple {40463#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 64: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 63: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 61: Hoare triple {40463#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40463#false} is VALID [2022-04-15 05:44:49,124 INFO L290 TraceCheckUtils]: 60: Hoare triple {41053#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40463#false} is VALID [2022-04-15 05:44:49,125 INFO L290 TraceCheckUtils]: 59: Hoare triple {41057#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41053#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-15 05:44:49,126 INFO L290 TraceCheckUtils]: 58: Hoare triple {41061#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41057#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:44:49,127 INFO L290 TraceCheckUtils]: 57: Hoare triple {41065#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {41061#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:44:49,127 INFO L290 TraceCheckUtils]: 56: Hoare triple {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41065#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:44:49,128 INFO L290 TraceCheckUtils]: 55: Hoare triple {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,129 INFO L290 TraceCheckUtils]: 54: Hoare triple {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,129 INFO L290 TraceCheckUtils]: 53: Hoare triple {41079#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,130 INFO L290 TraceCheckUtils]: 52: Hoare triple {41083#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41079#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-15 05:44:49,132 INFO L290 TraceCheckUtils]: 51: Hoare triple {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41083#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:44:49,133 INFO L290 TraceCheckUtils]: 50: Hoare triple {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:44:49,134 INFO L290 TraceCheckUtils]: 49: Hoare triple {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:44:49,136 INFO L290 TraceCheckUtils]: 48: Hoare triple {41097#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:44:49,137 INFO L290 TraceCheckUtils]: 47: Hoare triple {41101#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {41097#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:49,138 INFO L290 TraceCheckUtils]: 46: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41101#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:49,139 INFO L290 TraceCheckUtils]: 45: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,140 INFO L290 TraceCheckUtils]: 43: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,141 INFO L290 TraceCheckUtils]: 42: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,142 INFO L290 TraceCheckUtils]: 41: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,142 INFO L290 TraceCheckUtils]: 40: Hoare triple {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,144 INFO L290 TraceCheckUtils]: 39: Hoare triple {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,149 INFO L290 TraceCheckUtils]: 38: Hoare triple {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,150 INFO L290 TraceCheckUtils]: 37: Hoare triple {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,151 INFO L290 TraceCheckUtils]: 36: Hoare triple {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,152 INFO L290 TraceCheckUtils]: 35: Hoare triple {41141#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,154 INFO L290 TraceCheckUtils]: 34: Hoare triple {41145#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {41141#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:49,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41145#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:44:49,157 INFO L290 TraceCheckUtils]: 32: Hoare triple {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,164 INFO L290 TraceCheckUtils]: 28: Hoare triple {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,165 INFO L290 TraceCheckUtils]: 27: Hoare triple {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,166 INFO L290 TraceCheckUtils]: 26: Hoare triple {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,170 INFO L290 TraceCheckUtils]: 24: Hoare triple {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,173 INFO L290 TraceCheckUtils]: 22: Hoare triple {41186#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,173 INFO L290 TraceCheckUtils]: 21: Hoare triple {41190#(or (forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41186#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:44:49,177 INFO L290 TraceCheckUtils]: 20: Hoare triple {41194#(or (and (or (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))) (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41190#(or (forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:44:49,177 INFO L290 TraceCheckUtils]: 19: Hoare triple {40462#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41194#(or (and (or (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))) (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:44:49,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {40462#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40462#true} is VALID [2022-04-15 05:44:49,177 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-15 05:44:49,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 14: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 13: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 12: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 7: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 6: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 5: Hoare triple {40462#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 05:44:49,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40462#true} is VALID [2022-04-15 05:44:49,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-15 05:44:49,179 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 74 proven. 158 refuted. 0 times theorem prover too weak. 87 trivial. 0 not checked. [2022-04-15 05:44:49,179 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1279475800] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:44:49,179 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:44:49,179 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 25, 24] total 60 [2022-04-15 05:44:49,180 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:44:49,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [264356592] [2022-04-15 05:44:49,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [264356592] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:44:49,180 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:44:49,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 05:44:49,180 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [831383930] [2022-04-15 05:44:49,180 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:44:49,181 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:44:49,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:44:49,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:49,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:44:49,215 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 05:44:49,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:44:49,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 05:44:49,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=240, Invalid=3300, Unknown=0, NotChecked=0, Total=3540 [2022-04-15 05:44:49,216 INFO L87 Difference]: Start difference. First operand 618 states and 838 transitions. Second operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:55,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:44:55,387 INFO L93 Difference]: Finished difference Result 1142 states and 1560 transitions. [2022-04-15 05:44:55,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 05:44:55,387 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:44:55,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:44:55,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:55,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-15 05:44:55,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:44:55,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-15 05:44:55,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 72 transitions. [2022-04-15 05:44:55,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:44:55,470 INFO L225 Difference]: With dead ends: 1142 [2022-04-15 05:44:55,470 INFO L226 Difference]: Without dead ends: 563 [2022-04-15 05:44:55,471 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 260 GetRequests, 192 SyntacticMatches, 0 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1462 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=380, Invalid=4450, Unknown=0, NotChecked=0, Total=4830 [2022-04-15 05:44:55,472 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 65 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 23 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 05:44:55,472 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [66 Valid, 23 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 05:44:55,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 563 states. [2022-04-15 05:45:00,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 563 to 563. [2022-04-15 05:45:00,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:45:00,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 563 states. Second operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:00,530 INFO L74 IsIncluded]: Start isIncluded. First operand 563 states. Second operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:00,530 INFO L87 Difference]: Start difference. First operand 563 states. Second operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:00,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:45:00,544 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-15 05:45:00,544 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-15 05:45:00,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:45:00,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:45:00,545 INFO L74 IsIncluded]: Start isIncluded. First operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 563 states. [2022-04-15 05:45:00,546 INFO L87 Difference]: Start difference. First operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 563 states. [2022-04-15 05:45:00,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:45:00,559 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-15 05:45:00,559 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-15 05:45:00,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:45:00,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:45:00,560 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:45:00,560 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:45:00,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:00,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 563 states to 563 states and 767 transitions. [2022-04-15 05:45:00,579 INFO L78 Accepts]: Start accepts. Automaton has 563 states and 767 transitions. Word has length 110 [2022-04-15 05:45:00,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:45:00,579 INFO L478 AbstractCegarLoop]: Abstraction has 563 states and 767 transitions. [2022-04-15 05:45:00,579 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:45:00,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 563 states and 767 transitions. [2022-04-15 05:45:03,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 767 edges. 767 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:45:03,605 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-15 05:45:03,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:45:03,606 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:45:03,606 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:45:03,630 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-15 05:45:03,806 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:45:03,806 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:45:03,807 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:45:03,807 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 11 times [2022-04-15 05:45:03,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:45:03,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [427687066] [2022-04-15 05:45:03,810 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:45:03,810 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:45:03,810 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:45:03,810 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 12 times [2022-04-15 05:45:03,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:45:03,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2076063907] [2022-04-15 05:45:03,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:45:03,810 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:45:03,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:03,973 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:45:03,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:03,986 INFO L290 TraceCheckUtils]: 0: Hoare triple {45888#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:03,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume true; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:03,987 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} {45811#true} #95#return; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:03,992 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:45:04,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:04,696 INFO L290 TraceCheckUtils]: 0: Hoare triple {45889#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {45811#true} is VALID [2022-04-15 05:45:04,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:45:04,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:45:04,698 INFO L290 TraceCheckUtils]: 3: Hoare triple {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:45:04,698 INFO L290 TraceCheckUtils]: 4: Hoare triple {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:45:04,699 INFO L290 TraceCheckUtils]: 5: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:45:04,699 INFO L290 TraceCheckUtils]: 6: Hoare triple {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:45:04,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:45:04,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:45:04,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:45:04,702 INFO L290 TraceCheckUtils]: 10: Hoare triple {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:45:04,702 INFO L290 TraceCheckUtils]: 11: Hoare triple {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:45:04,703 INFO L290 TraceCheckUtils]: 12: Hoare triple {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:45:04,704 INFO L290 TraceCheckUtils]: 13: Hoare triple {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:45:04,704 INFO L290 TraceCheckUtils]: 14: Hoare triple {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:45:04,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:45:04,706 INFO L290 TraceCheckUtils]: 16: Hoare triple {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:45:04,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:45:04,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:45:04,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:45:04,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:45:04,709 INFO L290 TraceCheckUtils]: 21: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:45:04,710 INFO L290 TraceCheckUtils]: 22: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:45:04,711 INFO L290 TraceCheckUtils]: 23: Hoare triple {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:45:04,711 INFO L290 TraceCheckUtils]: 24: Hoare triple {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:45:04,711 INFO L290 TraceCheckUtils]: 25: Hoare triple {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:04,711 INFO L290 TraceCheckUtils]: 26: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 27: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 28: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 29: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 30: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 31: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 32: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 33: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 34: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 36: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 37: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 38: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 39: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 41: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 42: Hoare triple {45812#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 43: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 46: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 47: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 49: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 50: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 05:45:04,713 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {45812#false} {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #91#return; {45812#false} is VALID [2022-04-15 05:45:04,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:45:04,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:04,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,716 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:45:04,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:04,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,730 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:45:04,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:04,732 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:45:04,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:04,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,735 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45888#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:45:04,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {45888#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume true; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} {45811#true} #95#return; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} call #t~ret10 := main(); {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,738 INFO L290 TraceCheckUtils]: 6: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,740 INFO L290 TraceCheckUtils]: 10: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,742 INFO L290 TraceCheckUtils]: 14: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,742 INFO L290 TraceCheckUtils]: 15: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,743 INFO L290 TraceCheckUtils]: 16: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:04,743 INFO L272 TraceCheckUtils]: 17: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} call SelectionSort(); {45889#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:45:04,743 INFO L290 TraceCheckUtils]: 18: Hoare triple {45889#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {45811#true} is VALID [2022-04-15 05:45:04,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {45811#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:45:04,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:45:04,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:45:04,746 INFO L290 TraceCheckUtils]: 22: Hoare triple {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:45:04,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:45:04,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:45:04,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:45:04,748 INFO L290 TraceCheckUtils]: 26: Hoare triple {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:45:04,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:45:04,749 INFO L290 TraceCheckUtils]: 28: Hoare triple {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-15 05:45:04,750 INFO L290 TraceCheckUtils]: 29: Hoare triple {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:45:04,750 INFO L290 TraceCheckUtils]: 30: Hoare triple {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:45:04,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:45:04,752 INFO L290 TraceCheckUtils]: 32: Hoare triple {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:45:04,753 INFO L290 TraceCheckUtils]: 33: Hoare triple {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:45:04,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:45:04,754 INFO L290 TraceCheckUtils]: 35: Hoare triple {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:45:04,755 INFO L290 TraceCheckUtils]: 36: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:45:04,755 INFO L290 TraceCheckUtils]: 37: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:45:04,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:45:04,757 INFO L290 TraceCheckUtils]: 39: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:45:04,757 INFO L290 TraceCheckUtils]: 40: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-15 05:45:04,758 INFO L290 TraceCheckUtils]: 41: Hoare triple {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:45:04,758 INFO L290 TraceCheckUtils]: 42: Hoare triple {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 43: Hoare triple {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 46: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 47: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 49: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 50: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 53: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:04,759 INFO L290 TraceCheckUtils]: 54: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 56: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 57: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 58: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 59: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 60: Hoare triple {45812#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 61: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 63: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 64: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 65: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 67: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:04,760 INFO L290 TraceCheckUtils]: 68: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {45812#false} {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #91#return; {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 73: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L272 TraceCheckUtils]: 74: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,761 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 80: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 81: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:04,761 INFO L272 TraceCheckUtils]: 82: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,761 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,762 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 88: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 89: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L272 TraceCheckUtils]: 90: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,762 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 96: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 97: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:04,762 INFO L272 TraceCheckUtils]: 98: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:04,762 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:04,763 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 104: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 105: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:04,763 INFO L272 TraceCheckUtils]: 106: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-15 05:45:04,763 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-15 05:45:04,764 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 129 proven. 61 refuted. 0 times theorem prover too weak. 129 trivial. 0 not checked. [2022-04-15 05:45:04,764 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:45:04,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2076063907] [2022-04-15 05:45:04,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2076063907] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:45:04,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [507935229] [2022-04-15 05:45:04,764 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:45:04,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:45:04,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:45:04,765 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:45:04,766 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-15 05:45:05,056 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-15 05:45:05,056 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:45:05,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 05:45:05,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:45:05,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:45:06,412 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:45:06,413 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:45:06,414 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:45:06,437 INFO L356 Elim1Store]: treesize reduction 99, result has 22.0 percent of original size [2022-04-15 05:45:06,437 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 73 treesize of output 71 [2022-04-15 05:45:07,756 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-15 05:45:07,757 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:45:07,758 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:45:07,759 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-15 05:45:07,764 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-15 05:45:07,764 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 41 treesize of output 18 [2022-04-15 05:45:07,941 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-15 05:45:07,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume true; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} {45811#true} #95#return; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call #t~ret10 := main(); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,943 INFO L290 TraceCheckUtils]: 6: Hoare triple {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,944 INFO L290 TraceCheckUtils]: 8: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,944 INFO L290 TraceCheckUtils]: 9: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,945 INFO L290 TraceCheckUtils]: 10: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,945 INFO L290 TraceCheckUtils]: 11: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,945 INFO L290 TraceCheckUtils]: 12: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,946 INFO L290 TraceCheckUtils]: 13: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,947 INFO L290 TraceCheckUtils]: 16: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,947 INFO L272 TraceCheckUtils]: 17: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call SelectionSort(); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {45969#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {45969#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45973#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {45973#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45977#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:45:07,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {45977#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,950 INFO L290 TraceCheckUtils]: 23: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,950 INFO L290 TraceCheckUtils]: 24: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,952 INFO L290 TraceCheckUtils]: 26: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45997#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:45:07,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {45997#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46001#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:45:07,954 INFO L290 TraceCheckUtils]: 28: Hoare triple {46001#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46005#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:45:07,954 INFO L290 TraceCheckUtils]: 29: Hoare triple {46005#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46009#(and (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:45:07,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {46009#(and (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46013#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:45:07,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {46013#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46017#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} is VALID [2022-04-15 05:45:07,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {46017#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} assume !(~i~0 < ~n~0); {46021#(and (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} is VALID [2022-04-15 05:45:07,958 INFO L290 TraceCheckUtils]: 33: Hoare triple {46021#(and (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46025#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,959 INFO L290 TraceCheckUtils]: 34: Hoare triple {46025#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46029#(and (= SelectionSort_~lh~0 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,960 INFO L290 TraceCheckUtils]: 35: Hoare triple {46029#(and (= SelectionSort_~lh~0 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,960 INFO L290 TraceCheckUtils]: 36: Hoare triple {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,961 INFO L290 TraceCheckUtils]: 37: Hoare triple {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} is VALID [2022-04-15 05:45:07,963 INFO L290 TraceCheckUtils]: 39: Hoare triple {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} is VALID [2022-04-15 05:45:07,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46050#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} is VALID [2022-04-15 05:45:07,965 INFO L290 TraceCheckUtils]: 41: Hoare triple {46050#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46054#(and (exists ((v_SelectionSort_~rh~0_452 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) |~#array~0.offset|))) (< v_SelectionSort_~rh~0_452 ~n~0) (<= ~n~0 (+ v_SelectionSort_~rh~0_452 1)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 3 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,966 INFO L290 TraceCheckUtils]: 42: Hoare triple {46054#(and (exists ((v_SelectionSort_~rh~0_452 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) |~#array~0.offset|))) (< v_SelectionSort_~rh~0_452 ~n~0) (<= ~n~0 (+ v_SelectionSort_~rh~0_452 1)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 3 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46058#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:45:07,966 INFO L290 TraceCheckUtils]: 43: Hoare triple {46058#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:07,966 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:07,966 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:07,966 INFO L290 TraceCheckUtils]: 46: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 47: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 49: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 50: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 53: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 54: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 56: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 57: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 58: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 59: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 60: Hoare triple {45812#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45812#false} is VALID [2022-04-15 05:45:07,967 INFO L290 TraceCheckUtils]: 61: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 63: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 64: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 65: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 67: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 68: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {45812#false} {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #91#return; {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 73: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L272 TraceCheckUtils]: 74: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-15 05:45:07,968 INFO L290 TraceCheckUtils]: 75: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 76: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 77: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 80: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 81: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L272 TraceCheckUtils]: 82: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 83: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 84: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 85: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 88: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:07,969 INFO L290 TraceCheckUtils]: 89: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L272 TraceCheckUtils]: 90: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 91: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 92: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 93: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 96: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 97: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L272 TraceCheckUtils]: 98: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 99: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 100: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L290 TraceCheckUtils]: 101: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 05:45:07,970 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:07,971 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:07,971 INFO L290 TraceCheckUtils]: 104: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:07,971 INFO L290 TraceCheckUtils]: 105: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:07,971 INFO L272 TraceCheckUtils]: 106: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-15 05:45:07,971 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 05:45:07,971 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-15 05:45:07,971 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-15 05:45:07,972 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 118 proven. 71 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-15 05:45:07,972 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:45:09,340 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-15 05:45:09,721 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 78 treesize of output 64 [2022-04-15 05:45:09,825 INFO L356 Elim1Store]: treesize reduction 78, result has 41.4 percent of original size [2022-04-15 05:45:09,825 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 738 treesize of output 705 [2022-04-15 05:45:17,887 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 87 [2022-04-15 05:45:18,067 INFO L356 Elim1Store]: treesize reduction 109, result has 56.6 percent of original size [2022-04-15 05:45:18,068 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1049 treesize of output 1048 [2022-04-15 05:45:35,410 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-15 05:45:35,410 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-15 05:45:35,410 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L272 TraceCheckUtils]: 106: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 105: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 104: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:35,411 INFO L272 TraceCheckUtils]: 98: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 97: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 96: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:35,411 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L272 TraceCheckUtils]: 90: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 89: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 88: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:35,412 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L272 TraceCheckUtils]: 82: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 81: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 80: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-15 05:45:35,412 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 05:45:35,413 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 05:45:35,413 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 05:45:35,413 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 05:45:35,413 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 05:45:35,413 INFO L272 TraceCheckUtils]: 74: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-15 05:45:35,413 INFO L290 TraceCheckUtils]: 73: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-15 05:45:35,413 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-15 05:45:35,414 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #91#return; {45812#false} is VALID [2022-04-15 05:45:35,414 INFO L290 TraceCheckUtils]: 70: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume true; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,415 INFO L290 TraceCheckUtils]: 69: Hoare triple {46385#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~lh~0 ~n~0) (not (<= ~n~0 5)))} assume !(~lh~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,415 INFO L290 TraceCheckUtils]: 68: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46385#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~lh~0 ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,416 INFO L290 TraceCheckUtils]: 67: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,417 INFO L290 TraceCheckUtils]: 66: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,417 INFO L290 TraceCheckUtils]: 65: Hoare triple {46399#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< SelectionSort_~lh~0 ~n~0)) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,418 INFO L290 TraceCheckUtils]: 64: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46399#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< SelectionSort_~lh~0 ~n~0)) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,419 INFO L290 TraceCheckUtils]: 63: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,419 INFO L290 TraceCheckUtils]: 62: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,420 INFO L290 TraceCheckUtils]: 61: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,420 INFO L290 TraceCheckUtils]: 60: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,421 INFO L290 TraceCheckUtils]: 59: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,422 INFO L290 TraceCheckUtils]: 58: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,422 INFO L290 TraceCheckUtils]: 57: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,423 INFO L290 TraceCheckUtils]: 56: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,423 INFO L290 TraceCheckUtils]: 55: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,424 INFO L290 TraceCheckUtils]: 54: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,425 INFO L290 TraceCheckUtils]: 53: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,425 INFO L290 TraceCheckUtils]: 52: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,426 INFO L290 TraceCheckUtils]: 51: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,426 INFO L290 TraceCheckUtils]: 50: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,428 INFO L290 TraceCheckUtils]: 48: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,428 INFO L290 TraceCheckUtils]: 47: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,429 INFO L290 TraceCheckUtils]: 46: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,429 INFO L290 TraceCheckUtils]: 45: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,430 INFO L290 TraceCheckUtils]: 44: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,431 INFO L290 TraceCheckUtils]: 43: Hoare triple {46466#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,431 INFO L290 TraceCheckUtils]: 42: Hoare triple {46470#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46466#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,432 INFO L290 TraceCheckUtils]: 41: Hoare triple {46474#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46470#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {46478#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46474#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,434 INFO L290 TraceCheckUtils]: 39: Hoare triple {46478#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46478#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46478#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,436 INFO L290 TraceCheckUtils]: 37: Hoare triple {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,437 INFO L290 TraceCheckUtils]: 36: Hoare triple {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,438 INFO L290 TraceCheckUtils]: 35: Hoare triple {46495#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,439 INFO L290 TraceCheckUtils]: 34: Hoare triple {46499#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46495#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,440 INFO L290 TraceCheckUtils]: 33: Hoare triple {46503#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46499#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,442 INFO L290 TraceCheckUtils]: 32: Hoare triple {46507#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~i~0 ~n~0) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46503#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,443 INFO L290 TraceCheckUtils]: 31: Hoare triple {46511#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46507#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~i~0 ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,444 INFO L290 TraceCheckUtils]: 30: Hoare triple {46515#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46511#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,445 INFO L290 TraceCheckUtils]: 29: Hoare triple {46519#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46515#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,448 INFO L290 TraceCheckUtils]: 28: Hoare triple {46523#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 2) ~n~0) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46519#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,450 INFO L290 TraceCheckUtils]: 27: Hoare triple {46527#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 2) ~n~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (< ~n~0 2) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46523#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 2) ~n~0) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:45:35,452 INFO L290 TraceCheckUtils]: 26: Hoare triple {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46527#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 2) ~n~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (< ~n~0 2) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:45:35,453 INFO L290 TraceCheckUtils]: 25: Hoare triple {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,454 INFO L290 TraceCheckUtils]: 24: Hoare triple {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,456 INFO L290 TraceCheckUtils]: 23: Hoare triple {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {46547#(or (forall ((v_ArrVal_1462 Int) (v_SelectionSort_~i~0_541 Int) (v_ArrVal_1463 Int)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_541 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ v_SelectionSort_~i~0_541 1)))) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (< ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46531#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,462 INFO L290 TraceCheckUtils]: 20: Hoare triple {46551#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (or (<= ~n~0 (+ SelectionSort_~rh~0 2)) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (<= (+ SelectionSort_~rh~0 2) ~n~0)) (< ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46547#(or (forall ((v_ArrVal_1462 Int) (v_SelectionSort_~i~0_541 Int) (v_ArrVal_1463 Int)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_541 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ v_SelectionSort_~i~0_541 1)))) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,463 INFO L290 TraceCheckUtils]: 19: Hoare triple {46555#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (and (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~lh~0 2))) (<= (+ SelectionSort_~lh~0 2) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46551#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (or (<= ~n~0 (+ SelectionSort_~rh~0 2)) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (<= (+ SelectionSort_~rh~0 2) ~n~0)) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,463 INFO L290 TraceCheckUtils]: 18: Hoare triple {45811#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {46555#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (and (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~lh~0 2))) (<= (+ SelectionSort_~lh~0 2) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 2))} is VALID [2022-04-15 05:45:35,464 INFO L272 TraceCheckUtils]: 17: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call SelectionSort(); {45811#true} is VALID [2022-04-15 05:45:35,464 INFO L290 TraceCheckUtils]: 16: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !(~i~1 >= 0); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,467 INFO L290 TraceCheckUtils]: 15: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,470 INFO L290 TraceCheckUtils]: 10: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,471 INFO L290 TraceCheckUtils]: 6: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,472 INFO L290 TraceCheckUtils]: 5: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,472 INFO L272 TraceCheckUtils]: 4: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call #t~ret10 := main(); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} {45811#true} #95#return; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume true; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 05:45:35,474 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-15 05:45:35,475 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 113 proven. 92 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-15 05:45:35,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [507935229] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:45:35,475 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:45:35,475 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 22, 25] total 69 [2022-04-15 05:45:35,475 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:45:35,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [427687066] [2022-04-15 05:45:35,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [427687066] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:45:35,475 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:45:35,476 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 05:45:35,476 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [544562873] [2022-04-15 05:45:35,476 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:45:35,476 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:45:35,476 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:45:35,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:45:35,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:45:35,528 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 05:45:35,528 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:45:35,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 05:45:35,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=408, Invalid=4284, Unknown=0, NotChecked=0, Total=4692 [2022-04-15 05:45:35,529 INFO L87 Difference]: Start difference. First operand 563 states and 767 transitions. Second operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:45:53,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:45:53,767 INFO L93 Difference]: Finished difference Result 1276 states and 1722 transitions. [2022-04-15 05:45:53,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 73 states. [2022-04-15 05:45:53,767 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:45:53,767 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:45:53,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:45:53,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-15 05:45:53,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:45:53,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-15 05:45:53,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 193 transitions. [2022-04-15 05:45:54,040 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:45:54,073 INFO L225 Difference]: With dead ends: 1276 [2022-04-15 05:45:54,074 INFO L226 Difference]: Without dead ends: 954 [2022-04-15 05:45:54,075 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 332 GetRequests, 195 SyntacticMatches, 1 SemanticMatches, 136 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5575 ImplicationChecksByTransitivity, 9.0s TimeCoverageRelationStatistics Valid=1857, Invalid=17049, Unknown=0, NotChecked=0, Total=18906 [2022-04-15 05:45:54,076 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 194 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 860 mSolverCounterSat, 281 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 05:45:54,076 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.4s Time] [2022-04-15 05:45:54,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 954 states. [2022-04-15 05:45:59,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 954 to 611. [2022-04-15 05:45:59,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:45:59,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 954 states. Second operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:59,735 INFO L74 IsIncluded]: Start isIncluded. First operand 954 states. Second operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:59,736 INFO L87 Difference]: Start difference. First operand 954 states. Second operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:59,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:45:59,773 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-15 05:45:59,773 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-15 05:45:59,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:45:59,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:45:59,775 INFO L74 IsIncluded]: Start isIncluded. First operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 954 states. [2022-04-15 05:45:59,775 INFO L87 Difference]: Start difference. First operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 954 states. [2022-04-15 05:45:59,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:45:59,800 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-15 05:45:59,800 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-15 05:45:59,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:45:59,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:45:59,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:45:59,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:45:59,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:45:59,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 611 states to 611 states and 831 transitions. [2022-04-15 05:45:59,820 INFO L78 Accepts]: Start accepts. Automaton has 611 states and 831 transitions. Word has length 110 [2022-04-15 05:45:59,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:45:59,821 INFO L478 AbstractCegarLoop]: Abstraction has 611 states and 831 transitions. [2022-04-15 05:45:59,821 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:45:59,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 611 states and 831 transitions. [2022-04-15 05:46:03,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 831 edges. 831 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:46:03,566 INFO L276 IsEmpty]: Start isEmpty. Operand 611 states and 831 transitions. [2022-04-15 05:46:03,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:46:03,568 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:46:03,568 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:46:03,593 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Ended with exit code 0 [2022-04-15 05:46:03,783 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:46:03,783 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:46:03,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:46:03,784 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 13 times [2022-04-15 05:46:03,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:46:03,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1417216972] [2022-04-15 05:46:03,787 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:46:03,787 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:46:03,787 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:46:03,787 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 14 times [2022-04-15 05:46:03,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:46:03,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2089500697] [2022-04-15 05:46:03,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:46:03,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:46:03,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:03,871 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:46:03,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:03,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {52510#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:03,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:03,881 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {52434#true} #95#return; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:03,885 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:46:03,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:04,468 INFO L290 TraceCheckUtils]: 0: Hoare triple {52511#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {52434#true} is VALID [2022-04-15 05:46:04,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:46:04,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:46:04,469 INFO L290 TraceCheckUtils]: 3: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:46:04,470 INFO L290 TraceCheckUtils]: 4: Hoare triple {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:46:04,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-15 05:46:04,471 INFO L290 TraceCheckUtils]: 6: Hoare triple {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:46:04,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:46:04,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:46:04,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:46:04,474 INFO L290 TraceCheckUtils]: 10: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:46:04,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:46:04,475 INFO L290 TraceCheckUtils]: 12: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:46:04,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:46:04,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:46:04,478 INFO L290 TraceCheckUtils]: 15: Hoare triple {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:46:04,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:46:04,480 INFO L290 TraceCheckUtils]: 17: Hoare triple {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:46:04,480 INFO L290 TraceCheckUtils]: 18: Hoare triple {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:46:04,481 INFO L290 TraceCheckUtils]: 19: Hoare triple {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} is VALID [2022-04-15 05:46:04,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-15 05:46:04,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-15 05:46:04,482 INFO L290 TraceCheckUtils]: 22: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-15 05:46:04,482 INFO L290 TraceCheckUtils]: 23: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52528#(<= ~n~0 SelectionSort_~i~0)} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {52528#(<= ~n~0 SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 25: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 26: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 27: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 28: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 34: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,483 INFO L290 TraceCheckUtils]: 35: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 36: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 37: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 38: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 40: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 41: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 42: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 43: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 44: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 45: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 46: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 47: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 48: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,484 INFO L290 TraceCheckUtils]: 49: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,485 INFO L290 TraceCheckUtils]: 50: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,485 INFO L290 TraceCheckUtils]: 51: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,485 INFO L290 TraceCheckUtils]: 52: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-15 05:46:04,485 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {52435#false} {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {52435#false} is VALID [2022-04-15 05:46:04,485 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:46:04,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:04,487 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:46:04,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:04,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,490 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:46:04,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:04,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:46:04,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:04,493 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {52434#true} call ULTIMATE.init(); {52510#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:46:04,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {52510#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {52434#true} #95#return; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,496 INFO L272 TraceCheckUtils]: 4: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,496 INFO L290 TraceCheckUtils]: 5: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,497 INFO L290 TraceCheckUtils]: 6: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,498 INFO L290 TraceCheckUtils]: 8: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,498 INFO L290 TraceCheckUtils]: 10: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,499 INFO L290 TraceCheckUtils]: 12: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,501 INFO L290 TraceCheckUtils]: 16: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:04,501 INFO L272 TraceCheckUtils]: 17: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {52511#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:46:04,501 INFO L290 TraceCheckUtils]: 18: Hoare triple {52511#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {52434#true} is VALID [2022-04-15 05:46:04,502 INFO L290 TraceCheckUtils]: 19: Hoare triple {52434#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:46:04,502 INFO L290 TraceCheckUtils]: 20: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:46:04,503 INFO L290 TraceCheckUtils]: 21: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:46:04,504 INFO L290 TraceCheckUtils]: 22: Hoare triple {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:46:04,504 INFO L290 TraceCheckUtils]: 23: Hoare triple {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-15 05:46:04,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} is VALID [2022-04-15 05:46:04,507 INFO L290 TraceCheckUtils]: 25: Hoare triple {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:46:04,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:46:04,508 INFO L290 TraceCheckUtils]: 27: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:46:04,509 INFO L290 TraceCheckUtils]: 28: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:46:04,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:46:04,510 INFO L290 TraceCheckUtils]: 30: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:46:04,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:46:04,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:46:04,513 INFO L290 TraceCheckUtils]: 33: Hoare triple {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:46:04,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:46:04,515 INFO L290 TraceCheckUtils]: 35: Hoare triple {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:46:04,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:46:04,515 INFO L290 TraceCheckUtils]: 37: Hoare triple {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} is VALID [2022-04-15 05:46:04,516 INFO L290 TraceCheckUtils]: 38: Hoare triple {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-15 05:46:04,516 INFO L290 TraceCheckUtils]: 39: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-15 05:46:04,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-15 05:46:04,517 INFO L290 TraceCheckUtils]: 41: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52528#(<= ~n~0 SelectionSort_~i~0)} is VALID [2022-04-15 05:46:04,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {52528#(<= ~n~0 SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 43: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 44: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 45: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 46: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 47: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 48: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 50: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 51: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 52: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 53: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 54: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 55: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,518 INFO L290 TraceCheckUtils]: 56: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 57: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 58: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 59: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 60: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 61: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 62: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 63: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 64: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 65: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 66: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 67: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 68: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 69: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 70: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {52435#false} {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {52435#false} is VALID [2022-04-15 05:46:04,519 INFO L290 TraceCheckUtils]: 72: Hoare triple {52435#false} ~i~1 := 0; {52435#false} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 73: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-15 05:46:04,520 INFO L272 TraceCheckUtils]: 74: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 75: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 76: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 77: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 79: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 80: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 81: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-15 05:46:04,520 INFO L272 TraceCheckUtils]: 82: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 83: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 84: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 85: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,520 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,520 INFO L290 TraceCheckUtils]: 87: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 88: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 89: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-15 05:46:04,521 INFO L272 TraceCheckUtils]: 90: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 91: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 92: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 93: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,521 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 95: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 96: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 97: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-15 05:46:04,521 INFO L272 TraceCheckUtils]: 98: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 99: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 100: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 05:46:04,521 INFO L290 TraceCheckUtils]: 101: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 05:46:04,522 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L290 TraceCheckUtils]: 103: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L290 TraceCheckUtils]: 104: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L290 TraceCheckUtils]: 105: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L272 TraceCheckUtils]: 106: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L290 TraceCheckUtils]: 107: Hoare triple {52435#false} ~cond := #in~cond; {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L290 TraceCheckUtils]: 108: Hoare triple {52435#false} assume 0 == ~cond; {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-15 05:46:04,522 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 134 proven. 53 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-15 05:46:04,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:46:04,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2089500697] [2022-04-15 05:46:04,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2089500697] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:46:04,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [389371763] [2022-04-15 05:46:04,523 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:46:04,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:46:04,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:46:04,524 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:46:04,527 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-15 05:46:04,674 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:46:04,674 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:46:04,676 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 05:46:04,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:04,702 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:46:04,755 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:46:04,755 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:46:04,789 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:46:04,881 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:46:04,881 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:46:04,953 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:46:04,953 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:46:05,023 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:46:05,023 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:46:05,105 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:46:05,105 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:46:05,634 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:46:07,276 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:46:07,277 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:46:07,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {52434#true} call ULTIMATE.init(); {52434#true} is VALID [2022-04-15 05:46:07,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:07,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:07,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {52434#true} #95#return; {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:07,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:07,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {52548#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,364 INFO L290 TraceCheckUtils]: 6: Hoare triple {52548#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52552#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:46:07,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {52552#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,366 INFO L290 TraceCheckUtils]: 10: Hoare triple {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:46:07,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:46:07,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52577#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-15 05:46:07,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {52577#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,370 INFO L272 TraceCheckUtils]: 17: Hoare triple {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,371 INFO L290 TraceCheckUtils]: 20: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,371 INFO L290 TraceCheckUtils]: 21: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,372 INFO L290 TraceCheckUtils]: 22: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,372 INFO L290 TraceCheckUtils]: 24: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,373 INFO L290 TraceCheckUtils]: 25: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,374 INFO L290 TraceCheckUtils]: 28: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,374 INFO L290 TraceCheckUtils]: 29: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,375 INFO L290 TraceCheckUtils]: 32: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:07,376 INFO L290 TraceCheckUtils]: 33: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,376 INFO L290 TraceCheckUtils]: 34: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,377 INFO L290 TraceCheckUtils]: 35: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,377 INFO L290 TraceCheckUtils]: 36: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,378 INFO L290 TraceCheckUtils]: 37: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,378 INFO L290 TraceCheckUtils]: 38: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,379 INFO L290 TraceCheckUtils]: 40: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,380 INFO L290 TraceCheckUtils]: 41: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,380 INFO L290 TraceCheckUtils]: 42: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,381 INFO L290 TraceCheckUtils]: 44: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,382 INFO L290 TraceCheckUtils]: 45: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,384 WARN L290 TraceCheckUtils]: 46: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-15 05:46:07,384 INFO L290 TraceCheckUtils]: 47: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,385 INFO L290 TraceCheckUtils]: 48: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,385 INFO L290 TraceCheckUtils]: 49: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,386 INFO L290 TraceCheckUtils]: 50: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,386 INFO L290 TraceCheckUtils]: 51: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,387 INFO L290 TraceCheckUtils]: 52: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,387 INFO L290 TraceCheckUtils]: 53: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,388 INFO L290 TraceCheckUtils]: 54: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,388 INFO L290 TraceCheckUtils]: 55: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,389 WARN L290 TraceCheckUtils]: 56: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-15 05:46:07,390 INFO L290 TraceCheckUtils]: 57: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,390 INFO L290 TraceCheckUtils]: 58: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,392 INFO L290 TraceCheckUtils]: 61: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,392 INFO L290 TraceCheckUtils]: 62: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,394 WARN L290 TraceCheckUtils]: 63: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-15 05:46:07,394 INFO L290 TraceCheckUtils]: 64: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,395 INFO L290 TraceCheckUtils]: 65: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,395 INFO L290 TraceCheckUtils]: 66: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,397 WARN L290 TraceCheckUtils]: 67: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-15 05:46:07,397 INFO L290 TraceCheckUtils]: 68: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~lh~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,398 INFO L290 TraceCheckUtils]: 70: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume true; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-15 05:46:07,399 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {52755#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,399 INFO L290 TraceCheckUtils]: 72: Hoare triple {52755#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:46:07,400 INFO L290 TraceCheckUtils]: 73: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:46:07,400 INFO L272 TraceCheckUtils]: 74: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,401 INFO L290 TraceCheckUtils]: 75: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,401 INFO L290 TraceCheckUtils]: 76: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,402 INFO L290 TraceCheckUtils]: 77: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,402 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:46:07,402 INFO L290 TraceCheckUtils]: 79: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:46:07,403 INFO L290 TraceCheckUtils]: 80: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:46:07,403 INFO L290 TraceCheckUtils]: 81: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:46:07,404 INFO L272 TraceCheckUtils]: 82: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,404 INFO L290 TraceCheckUtils]: 83: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,405 INFO L290 TraceCheckUtils]: 84: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,405 INFO L290 TraceCheckUtils]: 85: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,406 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #93#return; {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:46:07,406 INFO L290 TraceCheckUtils]: 87: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} havoc #t~mem9; {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:46:07,406 INFO L290 TraceCheckUtils]: 88: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:46:07,407 INFO L290 TraceCheckUtils]: 89: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:46:07,407 INFO L272 TraceCheckUtils]: 90: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,408 INFO L290 TraceCheckUtils]: 91: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,408 INFO L290 TraceCheckUtils]: 92: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,409 INFO L290 TraceCheckUtils]: 93: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,409 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #93#return; {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:46:07,409 INFO L290 TraceCheckUtils]: 95: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} havoc #t~mem9; {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:46:07,410 INFO L290 TraceCheckUtils]: 96: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:46:07,410 INFO L290 TraceCheckUtils]: 97: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:46:07,411 INFO L272 TraceCheckUtils]: 98: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,411 INFO L290 TraceCheckUtils]: 99: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,412 INFO L290 TraceCheckUtils]: 100: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,412 INFO L290 TraceCheckUtils]: 101: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-15 05:46:07,413 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} #93#return; {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:46:07,413 INFO L290 TraceCheckUtils]: 103: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} havoc #t~mem9; {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:46:07,413 INFO L290 TraceCheckUtils]: 104: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52860#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:07,414 INFO L290 TraceCheckUtils]: 105: Hoare triple {52860#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52864#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-15 05:46:07,414 INFO L272 TraceCheckUtils]: 106: Hoare triple {52864#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:46:07,415 INFO L290 TraceCheckUtils]: 107: Hoare triple {52868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:46:07,415 INFO L290 TraceCheckUtils]: 108: Hoare triple {52872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {52435#false} is VALID [2022-04-15 05:46:07,415 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-15 05:46:07,415 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 9 proven. 163 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 05:46:07,416 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:46:07,784 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1561 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1561) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)) 4)) is different from false [2022-04-15 05:46:07,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [389371763] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:46:07,785 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:46:07,785 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-15 05:46:07,786 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:46:07,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1417216972] [2022-04-15 05:46:07,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1417216972] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:46:07,786 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:46:07,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 05:46:07,786 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1449537016] [2022-04-15 05:46:07,786 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:46:07,786 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:46:07,786 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:46:07,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:46:07,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:46:07,832 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 05:46:07,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:46:07,832 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 05:46:07,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=197, Invalid=2149, Unknown=10, NotChecked=94, Total=2450 [2022-04-15 05:46:07,832 INFO L87 Difference]: Start difference. First operand 611 states and 831 transitions. Second operand has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:46:23,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:46:23,555 INFO L93 Difference]: Finished difference Result 1355 states and 1832 transitions. [2022-04-15 05:46:23,555 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 57 states. [2022-04-15 05:46:23,555 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:46:23,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:46:23,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:46:23,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-15 05:46:23,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:46:23,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-15 05:46:23,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 179 transitions. [2022-04-15 05:46:23,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 179 edges. 179 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:46:23,797 INFO L225 Difference]: With dead ends: 1355 [2022-04-15 05:46:23,797 INFO L226 Difference]: Without dead ends: 973 [2022-04-15 05:46:23,798 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-15 05:46:23,798 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 288 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 251 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 288 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 251 IncrementalHoareTripleChecker+Valid, 466 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 05:46:23,798 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [288 Valid, 31 Invalid, 717 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [251 Valid, 466 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 05:46:23,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 973 states. [2022-04-15 05:46:33,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 973 to 824. [2022-04-15 05:46:33,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:46:33,033 INFO L82 GeneralOperation]: Start isEquivalent. First operand 973 states. Second operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:46:33,034 INFO L74 IsIncluded]: Start isIncluded. First operand 973 states. Second operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:46:33,034 INFO L87 Difference]: Start difference. First operand 973 states. Second operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:46:33,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:46:33,059 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-15 05:46:33,059 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-15 05:46:33,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:46:33,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:46:33,061 INFO L74 IsIncluded]: Start isIncluded. First operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 973 states. [2022-04-15 05:46:33,061 INFO L87 Difference]: Start difference. First operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 973 states. [2022-04-15 05:46:33,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:46:33,086 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-15 05:46:33,087 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-15 05:46:33,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:46:33,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:46:33,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:46:33,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:46:33,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:46:33,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 1123 transitions. [2022-04-15 05:46:33,117 INFO L78 Accepts]: Start accepts. Automaton has 824 states and 1123 transitions. Word has length 110 [2022-04-15 05:46:33,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:46:33,117 INFO L478 AbstractCegarLoop]: Abstraction has 824 states and 1123 transitions. [2022-04-15 05:46:33,117 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:46:33,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 824 states and 1123 transitions. [2022-04-15 05:46:39,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1123 edges. 1123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:46:39,094 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 1123 transitions. [2022-04-15 05:46:39,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:46:39,095 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:46:39,095 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:46:39,112 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-15 05:46:39,305 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable31 [2022-04-15 05:46:39,305 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:46:39,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:46:39,306 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 15 times [2022-04-15 05:46:39,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:46:39,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1358208119] [2022-04-15 05:46:39,309 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:46:39,309 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:46:39,309 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:46:39,309 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 16 times [2022-04-15 05:46:39,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:46:39,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1620308404] [2022-04-15 05:46:39,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:46:39,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:46:39,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:39,829 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:46:39,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:39,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {59497#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:39,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:39,855 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {59416#true} #95#return; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:39,863 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:46:39,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:40,441 INFO L290 TraceCheckUtils]: 0: Hoare triple {59498#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:46:40,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:46:40,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:46:40,442 INFO L290 TraceCheckUtils]: 3: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:46:40,443 INFO L290 TraceCheckUtils]: 4: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} is VALID [2022-04-15 05:46:40,444 INFO L290 TraceCheckUtils]: 5: Hoare triple {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-15 05:46:40,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} is VALID [2022-04-15 05:46:40,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-15 05:46:40,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-15 05:46:40,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-15 05:46:40,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:46:40,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-15 05:46:40,449 INFO L290 TraceCheckUtils]: 12: Hoare triple {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:46:40,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-15 05:46:40,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-15 05:46:40,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,452 INFO L290 TraceCheckUtils]: 17: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,453 INFO L290 TraceCheckUtils]: 19: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,454 INFO L290 TraceCheckUtils]: 22: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,454 INFO L290 TraceCheckUtils]: 23: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,456 INFO L290 TraceCheckUtils]: 27: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,456 INFO L290 TraceCheckUtils]: 28: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,458 INFO L290 TraceCheckUtils]: 32: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,458 INFO L290 TraceCheckUtils]: 33: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,459 INFO L290 TraceCheckUtils]: 34: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,459 INFO L290 TraceCheckUtils]: 35: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,460 INFO L290 TraceCheckUtils]: 36: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,460 INFO L290 TraceCheckUtils]: 37: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,460 INFO L290 TraceCheckUtils]: 38: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,462 INFO L290 TraceCheckUtils]: 41: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,462 INFO L290 TraceCheckUtils]: 42: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,462 INFO L290 TraceCheckUtils]: 43: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,463 INFO L290 TraceCheckUtils]: 45: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,464 INFO L290 TraceCheckUtils]: 46: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,464 INFO L290 TraceCheckUtils]: 47: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,464 INFO L290 TraceCheckUtils]: 48: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,465 INFO L290 TraceCheckUtils]: 49: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,465 INFO L290 TraceCheckUtils]: 50: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,466 INFO L290 TraceCheckUtils]: 51: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~lh~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,466 INFO L290 TraceCheckUtils]: 52: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume true; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,467 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {59417#false} is VALID [2022-04-15 05:46:40,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:46:40,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:40,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:46:40,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:40,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:46:40,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:40,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,479 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:46:40,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:40,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,482 INFO L272 TraceCheckUtils]: 0: Hoare triple {59416#true} call ULTIMATE.init(); {59497#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:46:40,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {59497#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {59416#true} #95#return; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:46:40,486 INFO L290 TraceCheckUtils]: 6: Hoare triple {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-15 05:46:40,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:46:40,489 INFO L290 TraceCheckUtils]: 10: Hoare triple {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:46:40,490 INFO L290 TraceCheckUtils]: 11: Hoare triple {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:46:40,490 INFO L290 TraceCheckUtils]: 12: Hoare triple {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-15 05:46:40,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,492 INFO L290 TraceCheckUtils]: 14: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,492 INFO L290 TraceCheckUtils]: 15: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,493 INFO L290 TraceCheckUtils]: 16: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:46:40,493 INFO L272 TraceCheckUtils]: 17: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call SelectionSort(); {59498#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:46:40,494 INFO L290 TraceCheckUtils]: 18: Hoare triple {59498#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:46:40,494 INFO L290 TraceCheckUtils]: 19: Hoare triple {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:46:40,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:46:40,495 INFO L290 TraceCheckUtils]: 21: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:46:40,495 INFO L290 TraceCheckUtils]: 22: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} is VALID [2022-04-15 05:46:40,496 INFO L290 TraceCheckUtils]: 23: Hoare triple {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-15 05:46:40,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} is VALID [2022-04-15 05:46:40,498 INFO L290 TraceCheckUtils]: 25: Hoare triple {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-15 05:46:40,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-15 05:46:40,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-15 05:46:40,500 INFO L290 TraceCheckUtils]: 28: Hoare triple {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:46:40,501 INFO L290 TraceCheckUtils]: 29: Hoare triple {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-15 05:46:40,501 INFO L290 TraceCheckUtils]: 30: Hoare triple {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:46:40,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-15 05:46:40,503 INFO L290 TraceCheckUtils]: 32: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-15 05:46:40,503 INFO L290 TraceCheckUtils]: 33: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,504 INFO L290 TraceCheckUtils]: 34: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,505 INFO L290 TraceCheckUtils]: 36: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,505 INFO L290 TraceCheckUtils]: 37: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,506 INFO L290 TraceCheckUtils]: 39: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,506 INFO L290 TraceCheckUtils]: 40: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,507 INFO L290 TraceCheckUtils]: 41: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,508 INFO L290 TraceCheckUtils]: 44: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,509 INFO L290 TraceCheckUtils]: 48: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,510 INFO L290 TraceCheckUtils]: 49: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,510 INFO L290 TraceCheckUtils]: 50: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,511 INFO L290 TraceCheckUtils]: 51: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,511 INFO L290 TraceCheckUtils]: 52: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,511 INFO L290 TraceCheckUtils]: 53: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,512 INFO L290 TraceCheckUtils]: 54: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,512 INFO L290 TraceCheckUtils]: 55: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,513 INFO L290 TraceCheckUtils]: 56: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,513 INFO L290 TraceCheckUtils]: 57: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,513 INFO L290 TraceCheckUtils]: 58: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,514 INFO L290 TraceCheckUtils]: 59: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,514 INFO L290 TraceCheckUtils]: 60: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,515 INFO L290 TraceCheckUtils]: 61: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,515 INFO L290 TraceCheckUtils]: 62: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,515 INFO L290 TraceCheckUtils]: 63: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,516 INFO L290 TraceCheckUtils]: 64: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,516 INFO L290 TraceCheckUtils]: 65: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,517 INFO L290 TraceCheckUtils]: 66: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,517 INFO L290 TraceCheckUtils]: 67: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,517 INFO L290 TraceCheckUtils]: 68: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,518 INFO L290 TraceCheckUtils]: 69: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~lh~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,518 INFO L290 TraceCheckUtils]: 70: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume true; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-15 05:46:40,519 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {59417#false} is VALID [2022-04-15 05:46:40,519 INFO L290 TraceCheckUtils]: 72: Hoare triple {59417#false} ~i~1 := 0; {59417#false} is VALID [2022-04-15 05:46:40,519 INFO L290 TraceCheckUtils]: 73: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-15 05:46:40,519 INFO L272 TraceCheckUtils]: 74: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-15 05:46:40,519 INFO L290 TraceCheckUtils]: 75: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,519 INFO L290 TraceCheckUtils]: 76: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,519 INFO L290 TraceCheckUtils]: 77: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,519 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,519 INFO L290 TraceCheckUtils]: 79: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 05:46:40,519 INFO L290 TraceCheckUtils]: 80: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 81: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-15 05:46:40,520 INFO L272 TraceCheckUtils]: 82: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 83: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 84: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 85: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 87: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 88: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 89: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-15 05:46:40,520 INFO L272 TraceCheckUtils]: 90: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 91: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 92: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 93: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,520 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,520 INFO L290 TraceCheckUtils]: 95: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 96: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 97: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L272 TraceCheckUtils]: 98: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 99: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 100: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 101: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 05:46:40,521 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 103: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 104: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 105: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L272 TraceCheckUtils]: 106: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 107: Hoare triple {59417#false} ~cond := #in~cond; {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 108: Hoare triple {59417#false} assume 0 == ~cond; {59417#false} is VALID [2022-04-15 05:46:40,521 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-15 05:46:40,522 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 8 proven. 153 refuted. 0 times theorem prover too weak. 158 trivial. 0 not checked. [2022-04-15 05:46:40,522 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:46:40,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1620308404] [2022-04-15 05:46:40,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1620308404] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:46:40,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [586666819] [2022-04-15 05:46:40,522 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:46:40,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:46:40,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:46:40,523 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:46:40,524 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-15 05:46:40,714 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:46:40,714 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:46:40,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 05:46:40,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:46:40,744 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:46:40,794 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:46:40,795 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:46:40,822 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:46:40,893 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 05:46:40,894 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-15 05:46:40,951 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 05:46:40,952 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-15 05:46:41,011 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 05:46:41,012 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-15 05:46:41,077 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 05:46:41,077 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-15 05:46:43,995 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2022-04-15 05:46:50,237 INFO L356 Elim1Store]: treesize reduction 14, result has 17.6 percent of original size [2022-04-15 05:46:50,237 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 26 treesize of output 12 [2022-04-15 05:46:50,404 INFO L272 TraceCheckUtils]: 0: Hoare triple {59416#true} call ULTIMATE.init(); {59416#true} is VALID [2022-04-15 05:46:50,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:50,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:50,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {59416#true} #95#return; {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:50,406 INFO L272 TraceCheckUtils]: 4: Hoare triple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:46:50,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {59531#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,407 INFO L290 TraceCheckUtils]: 6: Hoare triple {59531#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59535#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:46:50,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {59535#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,411 INFO L290 TraceCheckUtils]: 10: Hoare triple {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,411 INFO L290 TraceCheckUtils]: 11: Hoare triple {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} is VALID [2022-04-15 05:46:50,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} is VALID [2022-04-15 05:46:50,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59560#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,414 INFO L290 TraceCheckUtils]: 14: Hoare triple {59560#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59564#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {59564#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59568#(and (= 3 |~#array~0.base|) (exists ((v_main_~i~1_228 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= v_main_~i~1_228 (+ main_~i~1 1)) (<= 0 v_main_~i~1_228))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:46:50,417 INFO L290 TraceCheckUtils]: 16: Hoare triple {59568#(and (= 3 |~#array~0.base|) (exists ((v_main_~i~1_228 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= v_main_~i~1_228 (+ main_~i~1 1)) (<= 0 v_main_~i~1_228))) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {59572#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,417 INFO L272 TraceCheckUtils]: 17: Hoare triple {59572#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call SelectionSort(); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,418 INFO L290 TraceCheckUtils]: 20: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,419 INFO L290 TraceCheckUtils]: 21: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,419 INFO L290 TraceCheckUtils]: 22: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,420 INFO L290 TraceCheckUtils]: 23: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,421 INFO L290 TraceCheckUtils]: 26: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,421 INFO L290 TraceCheckUtils]: 27: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,421 INFO L290 TraceCheckUtils]: 28: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,424 INFO L290 TraceCheckUtils]: 33: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,426 INFO L290 TraceCheckUtils]: 36: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,426 INFO L290 TraceCheckUtils]: 37: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,427 INFO L290 TraceCheckUtils]: 38: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,427 INFO L290 TraceCheckUtils]: 39: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,428 INFO L290 TraceCheckUtils]: 40: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,428 INFO L290 TraceCheckUtils]: 41: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,429 INFO L290 TraceCheckUtils]: 42: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,430 INFO L290 TraceCheckUtils]: 44: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,430 INFO L290 TraceCheckUtils]: 45: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,432 WARN L290 TraceCheckUtils]: 46: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:46:50,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,434 INFO L290 TraceCheckUtils]: 48: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,434 INFO L290 TraceCheckUtils]: 49: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,435 INFO L290 TraceCheckUtils]: 50: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,435 INFO L290 TraceCheckUtils]: 51: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,436 INFO L290 TraceCheckUtils]: 52: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,437 INFO L290 TraceCheckUtils]: 53: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,437 INFO L290 TraceCheckUtils]: 54: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,438 INFO L290 TraceCheckUtils]: 55: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,440 WARN L290 TraceCheckUtils]: 56: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:46:50,440 INFO L290 TraceCheckUtils]: 57: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,441 INFO L290 TraceCheckUtils]: 58: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,442 INFO L290 TraceCheckUtils]: 59: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,442 INFO L290 TraceCheckUtils]: 60: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,443 INFO L290 TraceCheckUtils]: 61: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,443 INFO L290 TraceCheckUtils]: 62: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,445 WARN L290 TraceCheckUtils]: 63: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:46:50,446 INFO L290 TraceCheckUtils]: 64: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,446 INFO L290 TraceCheckUtils]: 65: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,447 INFO L290 TraceCheckUtils]: 66: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,449 WARN L290 TraceCheckUtils]: 67: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:46:50,449 INFO L290 TraceCheckUtils]: 68: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,450 INFO L290 TraceCheckUtils]: 69: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,450 INFO L290 TraceCheckUtils]: 70: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume true; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:46:50,452 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} {59572#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #91#return; {59740#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,453 INFO L290 TraceCheckUtils]: 72: Hoare triple {59740#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} ~i~1 := 0; {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-15 05:46:50,454 INFO L290 TraceCheckUtils]: 73: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-15 05:46:50,455 INFO L272 TraceCheckUtils]: 74: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,456 INFO L290 TraceCheckUtils]: 75: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,460 INFO L290 TraceCheckUtils]: 76: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,499 INFO L290 TraceCheckUtils]: 77: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,499 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} #93#return; {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-15 05:46:50,500 INFO L290 TraceCheckUtils]: 79: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} havoc #t~mem9; {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-15 05:46:50,501 INFO L290 TraceCheckUtils]: 80: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,502 INFO L290 TraceCheckUtils]: 81: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,503 INFO L272 TraceCheckUtils]: 82: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,507 INFO L290 TraceCheckUtils]: 83: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,513 INFO L290 TraceCheckUtils]: 84: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,514 INFO L290 TraceCheckUtils]: 85: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,515 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #93#return; {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,515 INFO L290 TraceCheckUtils]: 87: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} havoc #t~mem9; {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,516 INFO L290 TraceCheckUtils]: 88: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,517 INFO L290 TraceCheckUtils]: 89: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,518 INFO L272 TraceCheckUtils]: 90: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,518 INFO L290 TraceCheckUtils]: 91: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,519 INFO L290 TraceCheckUtils]: 92: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,520 INFO L290 TraceCheckUtils]: 93: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,520 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #93#return; {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,521 INFO L290 TraceCheckUtils]: 95: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} havoc #t~mem9; {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,522 INFO L290 TraceCheckUtils]: 96: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,522 INFO L290 TraceCheckUtils]: 97: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,523 INFO L272 TraceCheckUtils]: 98: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,527 INFO L290 TraceCheckUtils]: 99: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,528 INFO L290 TraceCheckUtils]: 100: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,529 INFO L290 TraceCheckUtils]: 101: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-15 05:46:50,529 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #93#return; {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,530 INFO L290 TraceCheckUtils]: 103: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} havoc #t~mem9; {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,530 INFO L290 TraceCheckUtils]: 104: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59845#(and (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-15 05:46:50,531 INFO L290 TraceCheckUtils]: 105: Hoare triple {59845#(and (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59849#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} is VALID [2022-04-15 05:46:50,532 INFO L272 TraceCheckUtils]: 106: Hoare triple {59849#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:46:50,532 INFO L290 TraceCheckUtils]: 107: Hoare triple {59853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {59857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:46:50,532 INFO L290 TraceCheckUtils]: 108: Hoare triple {59857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {59417#false} is VALID [2022-04-15 05:46:50,532 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-15 05:46:50,533 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 5 proven. 167 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 05:46:50,533 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:46:50,934 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1652 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1652) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)) 4)) is different from false [2022-04-15 05:46:50,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [586666819] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:46:50,935 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:46:50,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 24] total 45 [2022-04-15 05:46:50,935 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:46:50,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1358208119] [2022-04-15 05:46:50,936 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1358208119] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:46:50,936 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:46:50,936 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 05:46:50,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1973818745] [2022-04-15 05:46:50,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:46:50,936 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:46:50,936 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:46:50,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:46:50,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:46:50,988 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 05:46:50,989 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:46:50,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 05:46:50,989 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=2474, Unknown=14, NotChecked=100, Total=2756 [2022-04-15 05:46:50,989 INFO L87 Difference]: Start difference. First operand 824 states and 1123 transitions. Second operand has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:47:02,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:47:02,694 INFO L93 Difference]: Finished difference Result 1560 states and 2143 transitions. [2022-04-15 05:47:02,695 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 05:47:02,695 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:47:02,695 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:47:02,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:47:02,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-15 05:47:02,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:47:02,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-15 05:47:02,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 87 transitions. [2022-04-15 05:47:02,776 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:47:02,800 INFO L225 Difference]: With dead ends: 1560 [2022-04-15 05:47:02,800 INFO L226 Difference]: Without dead ends: 803 [2022-04-15 05:47:02,801 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 123 SyntacticMatches, 13 SemanticMatches, 70 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1524 ImplicationChecksByTransitivity, 4.9s TimeCoverageRelationStatistics Valid=383, Invalid=4546, Unknown=45, NotChecked=138, Total=5112 [2022-04-15 05:47:02,801 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-15 05:47:02,802 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-15 05:47:02,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 803 states. [2022-04-15 05:47:11,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 803 to 799. [2022-04-15 05:47:11,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:47:11,790 INFO L82 GeneralOperation]: Start isEquivalent. First operand 803 states. Second operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:47:11,790 INFO L74 IsIncluded]: Start isIncluded. First operand 803 states. Second operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:47:11,791 INFO L87 Difference]: Start difference. First operand 803 states. Second operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:47:11,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:47:11,809 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-15 05:47:11,809 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-15 05:47:11,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:47:11,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:47:11,811 INFO L74 IsIncluded]: Start isIncluded. First operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 803 states. [2022-04-15 05:47:11,811 INFO L87 Difference]: Start difference. First operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 803 states. [2022-04-15 05:47:11,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:47:11,829 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-15 05:47:11,830 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-15 05:47:11,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:47:11,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:47:11,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:47:11,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:47:11,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:47:11,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 799 states to 799 states and 1093 transitions. [2022-04-15 05:47:11,855 INFO L78 Accepts]: Start accepts. Automaton has 799 states and 1093 transitions. Word has length 110 [2022-04-15 05:47:11,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:47:11,855 INFO L478 AbstractCegarLoop]: Abstraction has 799 states and 1093 transitions. [2022-04-15 05:47:11,855 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:47:11,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 799 states and 1093 transitions. [2022-04-15 05:47:17,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1093 edges. 1093 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:47:17,846 INFO L276 IsEmpty]: Start isEmpty. Operand 799 states and 1093 transitions. [2022-04-15 05:47:17,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:47:17,847 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:47:17,847 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:47:17,867 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-15 05:47:18,058 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:47:18,059 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:47:18,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:47:18,059 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 17 times [2022-04-15 05:47:18,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:47:18,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [543442267] [2022-04-15 05:47:18,063 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:47:18,063 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:47:18,063 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:47:18,063 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 18 times [2022-04-15 05:47:18,063 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:47:18,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [662904913] [2022-04-15 05:47:18,063 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:47:18,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:47:18,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:47:18,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {66427#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,152 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {66351#true} #95#return; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,155 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:47:18,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {66428#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {66351#true} is VALID [2022-04-15 05:47:18,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:47:18,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:47:18,605 INFO L290 TraceCheckUtils]: 3: Hoare triple {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:47:18,606 INFO L290 TraceCheckUtils]: 4: Hoare triple {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-15 05:47:18,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:47:18,607 INFO L290 TraceCheckUtils]: 6: Hoare triple {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:47:18,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:47:18,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:47:18,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:47:18,609 INFO L290 TraceCheckUtils]: 10: Hoare triple {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,612 INFO L290 TraceCheckUtils]: 15: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:47:18,613 INFO L290 TraceCheckUtils]: 16: Hoare triple {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:47:18,613 INFO L290 TraceCheckUtils]: 17: Hoare triple {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:47:18,614 INFO L290 TraceCheckUtils]: 18: Hoare triple {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:47:18,614 INFO L290 TraceCheckUtils]: 19: Hoare triple {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:47:18,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:47:18,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 22: Hoare triple {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 23: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 26: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 28: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 29: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 30: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 31: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,616 INFO L290 TraceCheckUtils]: 32: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 33: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 35: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 36: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 37: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 39: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 40: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 41: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 42: Hoare triple {66352#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 43: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 46: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,617 INFO L290 TraceCheckUtils]: 47: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:18,618 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,618 INFO L290 TraceCheckUtils]: 49: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,618 INFO L290 TraceCheckUtils]: 50: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,618 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,618 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 05:47:18,618 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {66352#false} {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {66352#false} is VALID [2022-04-15 05:47:18,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:47:18,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,621 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,621 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,621 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:47:18,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,623 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:47:18,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,625 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:47:18,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,626 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66427#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:47:18,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {66427#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {66351#true} #95#return; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,629 INFO L290 TraceCheckUtils]: 6: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,630 INFO L290 TraceCheckUtils]: 9: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,631 INFO L290 TraceCheckUtils]: 10: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,632 INFO L290 TraceCheckUtils]: 15: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,633 INFO L290 TraceCheckUtils]: 16: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:18,633 INFO L272 TraceCheckUtils]: 17: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {66428#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:47:18,633 INFO L290 TraceCheckUtils]: 18: Hoare triple {66428#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {66351#true} is VALID [2022-04-15 05:47:18,633 INFO L290 TraceCheckUtils]: 19: Hoare triple {66351#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:47:18,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:47:18,635 INFO L290 TraceCheckUtils]: 21: Hoare triple {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:47:18,635 INFO L290 TraceCheckUtils]: 22: Hoare triple {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-15 05:47:18,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:47:18,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:47:18,637 INFO L290 TraceCheckUtils]: 25: Hoare triple {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:47:18,637 INFO L290 TraceCheckUtils]: 26: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:47:18,638 INFO L290 TraceCheckUtils]: 27: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:47:18,639 INFO L290 TraceCheckUtils]: 28: Hoare triple {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,639 INFO L290 TraceCheckUtils]: 29: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,640 INFO L290 TraceCheckUtils]: 32: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:47:18,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:47:18,642 INFO L290 TraceCheckUtils]: 34: Hoare triple {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:47:18,643 INFO L290 TraceCheckUtils]: 35: Hoare triple {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:47:18,643 INFO L290 TraceCheckUtils]: 36: Hoare triple {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:47:18,644 INFO L290 TraceCheckUtils]: 37: Hoare triple {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:47:18,644 INFO L290 TraceCheckUtils]: 38: Hoare triple {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:47:18,645 INFO L290 TraceCheckUtils]: 39: Hoare triple {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:47:18,645 INFO L290 TraceCheckUtils]: 40: Hoare triple {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,645 INFO L290 TraceCheckUtils]: 41: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,645 INFO L290 TraceCheckUtils]: 42: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,645 INFO L290 TraceCheckUtils]: 43: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 46: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 47: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 49: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 50: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 53: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 54: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 56: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 57: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,646 INFO L290 TraceCheckUtils]: 58: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 59: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 60: Hoare triple {66352#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 61: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 63: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 64: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 65: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 67: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 68: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:18,647 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {66352#false} {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 73: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L272 TraceCheckUtils]: 74: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,648 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 80: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 81: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:18,648 INFO L272 TraceCheckUtils]: 82: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,648 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,649 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 88: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 89: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L272 TraceCheckUtils]: 90: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,649 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 96: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 97: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:18,649 INFO L272 TraceCheckUtils]: 98: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:18,649 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:18,650 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:18,650 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L290 TraceCheckUtils]: 104: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L290 TraceCheckUtils]: 105: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L272 TraceCheckUtils]: 106: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-15 05:47:18,650 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 130 proven. 45 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-15 05:47:18,651 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:47:18,651 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [662904913] [2022-04-15 05:47:18,651 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [662904913] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:47:18,651 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [83234111] [2022-04-15 05:47:18,651 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:47:18,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:47:18,651 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:47:18,652 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:47:18,652 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-15 05:47:18,864 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-15 05:47:18,864 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:47:18,866 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 05:47:18,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:47:18,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:47:19,784 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:47:19,785 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:47:19,786 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:47:19,789 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-15 05:47:19,789 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 54 treesize of output 41 [2022-04-15 05:47:20,697 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:47:20,698 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-15 05:47:20,699 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:47:20,699 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 05:47:20,702 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-15 05:47:20,702 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 51 treesize of output 16 [2022-04-15 05:47:20,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-15 05:47:20,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume true; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} {66351#true} #95#return; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call #t~ret10 := main(); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,887 INFO L290 TraceCheckUtils]: 5: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {66464#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,887 INFO L290 TraceCheckUtils]: 6: Hoare triple {66464#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,888 INFO L290 TraceCheckUtils]: 7: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,889 INFO L290 TraceCheckUtils]: 10: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,889 INFO L290 TraceCheckUtils]: 12: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,891 INFO L290 TraceCheckUtils]: 16: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,891 INFO L272 TraceCheckUtils]: 17: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call SelectionSort(); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {66504#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {66504#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66508#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {66508#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66512#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:47:20,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {66512#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,893 INFO L290 TraceCheckUtils]: 22: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,894 INFO L290 TraceCheckUtils]: 23: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,894 INFO L290 TraceCheckUtils]: 24: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,895 INFO L290 TraceCheckUtils]: 26: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66535#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,896 INFO L290 TraceCheckUtils]: 28: Hoare triple {66535#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66539#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,897 INFO L290 TraceCheckUtils]: 29: Hoare triple {66539#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,897 INFO L290 TraceCheckUtils]: 30: Hoare triple {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66550#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0))} is VALID [2022-04-15 05:47:20,898 INFO L290 TraceCheckUtils]: 32: Hoare triple {66550#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0))} assume !(~i~0 < ~n~0); {66554#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= |~#array~0.offset| 0) (< (+ SelectionSort_~rh~0 1) ~n~0))} is VALID [2022-04-15 05:47:20,900 INFO L290 TraceCheckUtils]: 33: Hoare triple {66554#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= |~#array~0.offset| 0) (< (+ SelectionSort_~rh~0 1) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66558#(and (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< (+ SelectionSort_~rh~0 1) ~n~0))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {66558#(and (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< (+ SelectionSort_~rh~0 1) ~n~0))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66562#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,902 INFO L290 TraceCheckUtils]: 35: Hoare triple {66562#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66566#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,903 INFO L290 TraceCheckUtils]: 36: Hoare triple {66566#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66570#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:47:20,904 INFO L290 TraceCheckUtils]: 37: Hoare triple {66570#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66574#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,905 INFO L290 TraceCheckUtils]: 38: Hoare triple {66574#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66578#(and (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= SelectionSort_~rh~0 2))} is VALID [2022-04-15 05:47:20,906 INFO L290 TraceCheckUtils]: 39: Hoare triple {66578#(and (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= SelectionSort_~rh~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66582#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-15 05:47:20,906 INFO L290 TraceCheckUtils]: 40: Hoare triple {66582#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:20,906 INFO L290 TraceCheckUtils]: 41: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 42: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 43: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 46: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 47: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 49: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 50: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 53: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 54: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:20,907 INFO L290 TraceCheckUtils]: 56: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 57: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 58: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 59: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 60: Hoare triple {66352#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 61: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 63: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,908 INFO L290 TraceCheckUtils]: 64: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 65: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 67: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 68: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {66352#false} {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #91#return; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 73: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L272 TraceCheckUtils]: 74: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 75: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 76: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 77: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:20,909 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 80: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 81: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L272 TraceCheckUtils]: 82: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 83: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 84: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 85: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 88: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 89: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L272 TraceCheckUtils]: 90: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 91: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 92: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L290 TraceCheckUtils]: 93: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 05:47:20,910 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 96: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 97: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L272 TraceCheckUtils]: 98: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 99: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 100: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 101: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 104: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 105: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L272 TraceCheckUtils]: 106: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-15 05:47:20,911 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-15 05:47:20,912 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 131 proven. 39 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-15 05:47:20,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:47:22,627 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 91 treesize of output 77 [2022-04-15 05:47:22,726 INFO L356 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2022-04-15 05:47:22,727 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 713 treesize of output 641 [2022-04-15 05:47:40,054 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 129 treesize of output 115 [2022-04-15 05:47:40,235 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-15 05:47:40,236 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1509 treesize of output 1438 [2022-04-15 05:47:46,411 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L272 TraceCheckUtils]: 106: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L290 TraceCheckUtils]: 105: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L290 TraceCheckUtils]: 104: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:46,411 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L272 TraceCheckUtils]: 98: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 97: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 96: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:46,412 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L272 TraceCheckUtils]: 90: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 89: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 88: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:46,412 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:46,412 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L272 TraceCheckUtils]: 82: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 81: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 80: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 05:47:46,413 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L272 TraceCheckUtils]: 74: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 73: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-15 05:47:46,413 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-15 05:47:46,414 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #91#return; {66352#false} is VALID [2022-04-15 05:47:46,414 INFO L290 TraceCheckUtils]: 70: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume true; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,414 INFO L290 TraceCheckUtils]: 69: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~lh~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,415 INFO L290 TraceCheckUtils]: 68: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,415 INFO L290 TraceCheckUtils]: 67: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,415 INFO L290 TraceCheckUtils]: 66: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,416 INFO L290 TraceCheckUtils]: 65: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,416 INFO L290 TraceCheckUtils]: 64: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,416 INFO L290 TraceCheckUtils]: 63: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,417 INFO L290 TraceCheckUtils]: 62: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,417 INFO L290 TraceCheckUtils]: 61: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,417 INFO L290 TraceCheckUtils]: 60: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,418 INFO L290 TraceCheckUtils]: 59: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,418 INFO L290 TraceCheckUtils]: 58: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,418 INFO L290 TraceCheckUtils]: 57: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,419 INFO L290 TraceCheckUtils]: 56: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,419 INFO L290 TraceCheckUtils]: 55: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,419 INFO L290 TraceCheckUtils]: 54: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,420 INFO L290 TraceCheckUtils]: 53: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,420 INFO L290 TraceCheckUtils]: 52: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,420 INFO L290 TraceCheckUtils]: 51: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,421 INFO L290 TraceCheckUtils]: 50: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,421 INFO L290 TraceCheckUtils]: 49: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,421 INFO L290 TraceCheckUtils]: 48: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,422 INFO L290 TraceCheckUtils]: 47: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,422 INFO L290 TraceCheckUtils]: 46: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,422 INFO L290 TraceCheckUtils]: 45: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,423 INFO L290 TraceCheckUtils]: 44: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,423 INFO L290 TraceCheckUtils]: 43: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,423 INFO L290 TraceCheckUtils]: 42: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,424 INFO L290 TraceCheckUtils]: 41: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {67005#(or (not (<= 4 ~n~0)) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {67009#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67005#(or (not (<= 4 ~n~0)) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,425 INFO L290 TraceCheckUtils]: 38: Hoare triple {67013#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67009#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,426 INFO L290 TraceCheckUtils]: 37: Hoare triple {67017#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {67013#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,426 INFO L290 TraceCheckUtils]: 36: Hoare triple {67021#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67017#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,427 INFO L290 TraceCheckUtils]: 35: Hoare triple {67025#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {67021#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,428 INFO L290 TraceCheckUtils]: 34: Hoare triple {67029#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {67025#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,430 INFO L290 TraceCheckUtils]: 33: Hoare triple {67033#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67029#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,430 INFO L290 TraceCheckUtils]: 32: Hoare triple {67037#(or (not (<= 4 ~n~0)) (< SelectionSort_~i~0 ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {67033#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67037#(or (not (<= 4 ~n~0)) (< SelectionSort_~i~0 ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,433 INFO L290 TraceCheckUtils]: 29: Hoare triple {67048#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,434 INFO L290 TraceCheckUtils]: 28: Hoare triple {67052#(or (not (<= 4 ~n~0)) (< (+ SelectionSort_~i~0 2) ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67048#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {67052#(or (not (<= 4 ~n~0)) (< (+ SelectionSort_~i~0 2) ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,438 INFO L290 TraceCheckUtils]: 23: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,438 INFO L290 TraceCheckUtils]: 22: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,440 INFO L290 TraceCheckUtils]: 21: Hoare triple {67075#(or (forall ((v_SelectionSort_~i~0_617 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_617 2) ~n~0) (not (< (+ v_SelectionSort_~i~0_617 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< 5 ~n~0) (< ~n~0 4) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-15 05:47:46,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {67079#(or (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)) (< (+ 5 SelectionSort_~lh~0) ~n~0)) (or (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (not (< (+ SelectionSort_~lh~0 3) ~n~0))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= ~n~0 (+ SelectionSort_~lh~0 2)))) (< 5 ~n~0) (< ~n~0 4) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67075#(or (forall ((v_SelectionSort_~i~0_617 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_617 2) ~n~0) (not (< (+ v_SelectionSort_~i~0_617 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< 5 ~n~0) (< ~n~0 4) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:47:46,446 INFO L290 TraceCheckUtils]: 19: Hoare triple {67083#(or (< 5 ~n~0) (and (< (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 4))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {67079#(or (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)) (< (+ 5 SelectionSort_~lh~0) ~n~0)) (or (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (not (< (+ SelectionSort_~lh~0 3) ~n~0))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= ~n~0 (+ SelectionSort_~lh~0 2)))) (< 5 ~n~0) (< ~n~0 4) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:47:46,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {66351#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {67083#(or (< 5 ~n~0) (and (< (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 4))} is VALID [2022-04-15 05:47:46,447 INFO L272 TraceCheckUtils]: 17: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call SelectionSort(); {66351#true} is VALID [2022-04-15 05:47:46,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !(~i~1 >= 0); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,449 INFO L290 TraceCheckUtils]: 11: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,449 INFO L290 TraceCheckUtils]: 10: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,450 INFO L290 TraceCheckUtils]: 7: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,450 INFO L290 TraceCheckUtils]: 6: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call #t~ret10 := main(); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} {66351#true} #95#return; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume true; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-15 05:47:46,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-15 05:47:46,453 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 134 proven. 39 refuted. 0 times theorem prover too weak. 146 trivial. 0 not checked. [2022-04-15 05:47:46,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [83234111] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:47:46,453 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:47:46,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 57 [2022-04-15 05:47:46,453 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:47:46,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [543442267] [2022-04-15 05:47:46,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [543442267] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:47:46,453 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:47:46,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 05:47:46,453 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1255445752] [2022-04-15 05:47:46,454 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:47:46,454 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:47:46,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:47:46,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:47:46,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:47:46,493 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 05:47:46,493 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:47:46,493 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 05:47:46,493 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=333, Invalid=2847, Unknown=12, NotChecked=0, Total=3192 [2022-04-15 05:47:46,493 INFO L87 Difference]: Start difference. First operand 799 states and 1093 transitions. Second operand has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:05,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:48:05,193 INFO L93 Difference]: Finished difference Result 1903 states and 2629 transitions. [2022-04-15 05:48:05,193 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-15 05:48:05,193 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:48:05,194 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:48:05,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:05,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-15 05:48:05,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:05,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-15 05:48:05,196 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 152 transitions. [2022-04-15 05:48:05,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:48:05,432 INFO L225 Difference]: With dead ends: 1903 [2022-04-15 05:48:05,432 INFO L226 Difference]: Without dead ends: 1228 [2022-04-15 05:48:05,433 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1836 ImplicationChecksByTransitivity, 14.7s TimeCoverageRelationStatistics Valid=720, Invalid=7100, Unknown=12, NotChecked=0, Total=7832 [2022-04-15 05:48:05,434 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 133 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 1175 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 133 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1263 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 1175 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-15 05:48:05,434 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [133 Valid, 45 Invalid, 1263 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 1175 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-15 05:48:05,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1228 states. [2022-04-15 05:48:16,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1228 to 927. [2022-04-15 05:48:16,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:48:16,227 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1228 states. Second operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:16,227 INFO L74 IsIncluded]: Start isIncluded. First operand 1228 states. Second operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:16,228 INFO L87 Difference]: Start difference. First operand 1228 states. Second operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:16,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:48:16,264 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-15 05:48:16,264 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-15 05:48:16,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:48:16,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:48:16,266 INFO L74 IsIncluded]: Start isIncluded. First operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1228 states. [2022-04-15 05:48:16,267 INFO L87 Difference]: Start difference. First operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1228 states. [2022-04-15 05:48:16,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:48:16,303 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-15 05:48:16,303 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-15 05:48:16,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:48:16,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:48:16,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:48:16,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:48:16,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:16,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 927 states to 927 states and 1261 transitions. [2022-04-15 05:48:16,336 INFO L78 Accepts]: Start accepts. Automaton has 927 states and 1261 transitions. Word has length 110 [2022-04-15 05:48:16,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:48:16,336 INFO L478 AbstractCegarLoop]: Abstraction has 927 states and 1261 transitions. [2022-04-15 05:48:16,336 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:16,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 927 states and 1261 transitions. [2022-04-15 05:48:22,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1261 edges. 1261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:48:22,857 INFO L276 IsEmpty]: Start isEmpty. Operand 927 states and 1261 transitions. [2022-04-15 05:48:22,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:48:22,858 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:48:22,858 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:48:22,876 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-15 05:48:23,059 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:48:23,059 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:48:23,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:48:23,059 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 19 times [2022-04-15 05:48:23,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:48:23,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [215303567] [2022-04-15 05:48:23,063 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:48:23,064 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:48:23,064 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:48:23,064 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 20 times [2022-04-15 05:48:23,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:48:23,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1157203609] [2022-04-15 05:48:23,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:48:23,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:48:23,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:48:23,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {75397#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,157 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {75321#true} #95#return; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,161 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:48:23,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {75398#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {75321#true} is VALID [2022-04-15 05:48:23,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:48:23,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:48:23,482 INFO L290 TraceCheckUtils]: 3: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:48:23,483 INFO L290 TraceCheckUtils]: 4: Hoare triple {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-15 05:48:23,483 INFO L290 TraceCheckUtils]: 5: Hoare triple {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:48:23,484 INFO L290 TraceCheckUtils]: 6: Hoare triple {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:48:23,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,486 INFO L290 TraceCheckUtils]: 10: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:48:23,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:48:23,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:48:23,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:48:23,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 26: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 28: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 29: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 30: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 31: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 32: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 33: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 34: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,492 INFO L290 TraceCheckUtils]: 35: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 36: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 37: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 38: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 41: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 42: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 43: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 44: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 45: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 46: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 47: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 48: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 49: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,493 INFO L290 TraceCheckUtils]: 50: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,494 INFO L290 TraceCheckUtils]: 51: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,494 INFO L290 TraceCheckUtils]: 52: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-15 05:48:23,494 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {75322#false} {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {75322#false} is VALID [2022-04-15 05:48:23,494 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:48:23,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,497 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:48:23,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,499 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,499 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,499 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:48:23,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,501 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:48:23,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,503 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,504 INFO L272 TraceCheckUtils]: 0: Hoare triple {75321#true} call ULTIMATE.init(); {75397#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:48:23,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {75397#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {75321#true} #95#return; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,506 INFO L290 TraceCheckUtils]: 5: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,507 INFO L290 TraceCheckUtils]: 6: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,507 INFO L290 TraceCheckUtils]: 7: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,507 INFO L290 TraceCheckUtils]: 8: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,508 INFO L290 TraceCheckUtils]: 10: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,509 INFO L290 TraceCheckUtils]: 12: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,511 INFO L290 TraceCheckUtils]: 16: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:48:23,511 INFO L272 TraceCheckUtils]: 17: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {75398#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:48:23,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {75398#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {75321#true} is VALID [2022-04-15 05:48:23,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {75321#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:48:23,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:48:23,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:48:23,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-15 05:48:23,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:48:23,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:48:23,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,518 INFO L290 TraceCheckUtils]: 28: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,518 INFO L290 TraceCheckUtils]: 29: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,519 INFO L290 TraceCheckUtils]: 30: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:48:23,521 INFO L290 TraceCheckUtils]: 33: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:48:23,522 INFO L290 TraceCheckUtils]: 34: Hoare triple {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:48:23,522 INFO L290 TraceCheckUtils]: 35: Hoare triple {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:48:23,523 INFO L290 TraceCheckUtils]: 36: Hoare triple {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:48:23,523 INFO L290 TraceCheckUtils]: 37: Hoare triple {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,523 INFO L290 TraceCheckUtils]: 38: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,523 INFO L290 TraceCheckUtils]: 39: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,523 INFO L290 TraceCheckUtils]: 40: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 41: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 42: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 44: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 45: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 46: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 47: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 48: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 49: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 50: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 51: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 52: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 53: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 54: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,524 INFO L290 TraceCheckUtils]: 55: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 56: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 57: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 58: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 59: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 60: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 61: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 62: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 63: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 64: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 65: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 66: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 67: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 68: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 69: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L290 TraceCheckUtils]: 70: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-15 05:48:23,525 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {75322#false} {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {75322#false} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 72: Hoare triple {75322#false} ~i~1 := 0; {75322#false} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 73: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-15 05:48:23,526 INFO L272 TraceCheckUtils]: 74: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 75: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 76: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 77: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 79: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 80: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 81: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-15 05:48:23,526 INFO L272 TraceCheckUtils]: 82: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 83: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 84: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L290 TraceCheckUtils]: 85: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,526 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 87: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 88: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 89: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L272 TraceCheckUtils]: 90: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 91: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 92: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 93: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,527 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 95: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 96: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 97: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-15 05:48:23,527 INFO L272 TraceCheckUtils]: 98: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 99: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 100: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 05:48:23,527 INFO L290 TraceCheckUtils]: 101: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 05:48:23,528 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L290 TraceCheckUtils]: 103: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L290 TraceCheckUtils]: 104: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L290 TraceCheckUtils]: 105: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L272 TraceCheckUtils]: 106: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L290 TraceCheckUtils]: 107: Hoare triple {75322#false} ~cond := #in~cond; {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L290 TraceCheckUtils]: 108: Hoare triple {75322#false} assume 0 == ~cond; {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-15 05:48:23,528 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 128 proven. 29 refuted. 0 times theorem prover too weak. 162 trivial. 0 not checked. [2022-04-15 05:48:23,529 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:48:23,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1157203609] [2022-04-15 05:48:23,529 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1157203609] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:48:23,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425178864] [2022-04-15 05:48:23,529 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:48:23,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:48:23,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:48:23,530 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:48:23,531 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-15 05:48:23,688 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:48:23,688 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:48:23,690 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 05:48:23,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:48:23,715 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:48:23,765 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:48:23,766 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:48:23,800 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:48:23,890 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:48:23,890 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:48:23,965 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:48:23,965 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:48:24,031 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:48:24,031 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:48:24,110 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:48:24,110 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:48:24,658 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:48:25,961 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:48:25,961 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:48:26,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {75321#true} call ULTIMATE.init(); {75321#true} is VALID [2022-04-15 05:48:26,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:48:26,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:48:26,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {75321#true} #95#return; {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:48:26,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:48:26,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {75429#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,047 INFO L290 TraceCheckUtils]: 6: Hoare triple {75429#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75433#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:48:26,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {75433#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:48:26,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:48:26,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75458#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-15 05:48:26,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {75458#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,052 INFO L290 TraceCheckUtils]: 16: Hoare triple {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,052 INFO L272 TraceCheckUtils]: 17: Hoare triple {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,054 INFO L290 TraceCheckUtils]: 21: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,055 INFO L290 TraceCheckUtils]: 24: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,055 INFO L290 TraceCheckUtils]: 25: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,056 INFO L290 TraceCheckUtils]: 28: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,059 INFO L290 TraceCheckUtils]: 35: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,060 INFO L290 TraceCheckUtils]: 36: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,060 INFO L290 TraceCheckUtils]: 37: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,061 INFO L290 TraceCheckUtils]: 38: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,062 INFO L290 TraceCheckUtils]: 41: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,063 INFO L290 TraceCheckUtils]: 42: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,063 INFO L290 TraceCheckUtils]: 43: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,064 INFO L290 TraceCheckUtils]: 44: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,064 INFO L290 TraceCheckUtils]: 45: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,066 WARN L290 TraceCheckUtils]: 46: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:48:26,067 INFO L290 TraceCheckUtils]: 47: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,067 INFO L290 TraceCheckUtils]: 48: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,068 INFO L290 TraceCheckUtils]: 49: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,068 INFO L290 TraceCheckUtils]: 50: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,069 INFO L290 TraceCheckUtils]: 51: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,069 INFO L290 TraceCheckUtils]: 52: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,070 INFO L290 TraceCheckUtils]: 53: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,070 INFO L290 TraceCheckUtils]: 54: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,071 INFO L290 TraceCheckUtils]: 55: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,072 WARN L290 TraceCheckUtils]: 56: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:48:26,073 INFO L290 TraceCheckUtils]: 57: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,074 INFO L290 TraceCheckUtils]: 58: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,074 INFO L290 TraceCheckUtils]: 59: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,075 INFO L290 TraceCheckUtils]: 60: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,075 INFO L290 TraceCheckUtils]: 61: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,076 INFO L290 TraceCheckUtils]: 62: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,077 WARN L290 TraceCheckUtils]: 63: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:48:26,077 INFO L290 TraceCheckUtils]: 64: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,078 INFO L290 TraceCheckUtils]: 65: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,079 INFO L290 TraceCheckUtils]: 66: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,080 WARN L290 TraceCheckUtils]: 67: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:48:26,080 INFO L290 TraceCheckUtils]: 68: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,081 INFO L290 TraceCheckUtils]: 69: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,081 INFO L290 TraceCheckUtils]: 70: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume true; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:48:26,082 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {75636#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,082 INFO L290 TraceCheckUtils]: 72: Hoare triple {75636#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:48:26,083 INFO L290 TraceCheckUtils]: 73: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:48:26,084 INFO L272 TraceCheckUtils]: 74: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,084 INFO L290 TraceCheckUtils]: 75: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,084 INFO L290 TraceCheckUtils]: 76: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,085 INFO L290 TraceCheckUtils]: 77: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,085 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:48:26,085 INFO L290 TraceCheckUtils]: 79: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:48:26,086 INFO L290 TraceCheckUtils]: 80: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:48:26,086 INFO L290 TraceCheckUtils]: 81: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:48:26,087 INFO L272 TraceCheckUtils]: 82: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,087 INFO L290 TraceCheckUtils]: 83: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,088 INFO L290 TraceCheckUtils]: 84: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,088 INFO L290 TraceCheckUtils]: 85: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,088 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #93#return; {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:48:26,089 INFO L290 TraceCheckUtils]: 87: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} havoc #t~mem9; {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:48:26,089 INFO L290 TraceCheckUtils]: 88: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:48:26,089 INFO L290 TraceCheckUtils]: 89: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:48:26,090 INFO L272 TraceCheckUtils]: 90: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,091 INFO L290 TraceCheckUtils]: 91: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,091 INFO L290 TraceCheckUtils]: 92: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,091 INFO L290 TraceCheckUtils]: 93: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,092 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #93#return; {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:48:26,092 INFO L290 TraceCheckUtils]: 95: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} havoc #t~mem9; {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-15 05:48:26,092 INFO L290 TraceCheckUtils]: 96: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,093 INFO L290 TraceCheckUtils]: 97: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,094 INFO L272 TraceCheckUtils]: 98: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,094 INFO L290 TraceCheckUtils]: 99: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,094 INFO L290 TraceCheckUtils]: 100: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,095 INFO L290 TraceCheckUtils]: 101: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-15 05:48:26,095 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,095 INFO L290 TraceCheckUtils]: 103: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,096 INFO L290 TraceCheckUtils]: 104: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75741#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:48:26,096 INFO L290 TraceCheckUtils]: 105: Hoare triple {75741#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75745#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-15 05:48:26,097 INFO L272 TraceCheckUtils]: 106: Hoare triple {75745#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:48:26,097 INFO L290 TraceCheckUtils]: 107: Hoare triple {75749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {75753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:48:26,097 INFO L290 TraceCheckUtils]: 108: Hoare triple {75753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {75322#false} is VALID [2022-04-15 05:48:26,097 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-15 05:48:26,098 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 9 proven. 163 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 05:48:26,098 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:48:26,442 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1823 (Array Int Int))) (= 4 (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1823) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)))) is different from false [2022-04-15 05:48:26,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [425178864] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:48:26,443 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:48:26,443 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 22] total 36 [2022-04-15 05:48:26,443 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:48:26,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [215303567] [2022-04-15 05:48:26,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [215303567] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:48:26,444 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:48:26,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 05:48:26,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [610515344] [2022-04-15 05:48:26,444 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:48:26,444 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:48:26,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:48:26,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:26,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:48:26,480 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 05:48:26,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:48:26,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 05:48:26,481 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=146, Invalid=1654, Unknown=10, NotChecked=82, Total=1892 [2022-04-15 05:48:26,481 INFO L87 Difference]: Start difference. First operand 927 states and 1261 transitions. Second operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:46,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:48:46,316 INFO L93 Difference]: Finished difference Result 2266 states and 3111 transitions. [2022-04-15 05:48:46,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-15 05:48:46,316 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:48:46,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:48:46,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:46,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-15 05:48:46,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:46,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-15 05:48:46,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 135 transitions. [2022-04-15 05:48:46,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:48:46,513 INFO L225 Difference]: With dead ends: 2266 [2022-04-15 05:48:46,513 INFO L226 Difference]: Without dead ends: 1430 [2022-04-15 05:48:46,514 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-15 05:48:46,515 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 150 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 629 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 150 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 629 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 05:48:46,515 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [150 Valid, 38 Invalid, 717 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 629 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 05:48:46,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1430 states. [2022-04-15 05:48:58,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1430 to 1016. [2022-04-15 05:48:58,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:48:58,223 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1430 states. Second operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:58,223 INFO L74 IsIncluded]: Start isIncluded. First operand 1430 states. Second operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:58,224 INFO L87 Difference]: Start difference. First operand 1430 states. Second operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:58,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:48:58,272 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-15 05:48:58,272 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-15 05:48:58,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:48:58,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:48:58,274 INFO L74 IsIncluded]: Start isIncluded. First operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1430 states. [2022-04-15 05:48:58,274 INFO L87 Difference]: Start difference. First operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1430 states. [2022-04-15 05:48:58,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:48:58,322 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-15 05:48:58,322 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-15 05:48:58,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:48:58,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:48:58,323 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:48:58,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:48:58,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:48:58,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1016 states to 1016 states and 1399 transitions. [2022-04-15 05:48:58,360 INFO L78 Accepts]: Start accepts. Automaton has 1016 states and 1399 transitions. Word has length 110 [2022-04-15 05:48:58,360 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:48:58,360 INFO L478 AbstractCegarLoop]: Abstraction has 1016 states and 1399 transitions. [2022-04-15 05:48:58,361 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:48:58,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1016 states and 1399 transitions. [2022-04-15 05:49:05,511 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1399 edges. 1399 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:49:05,511 INFO L276 IsEmpty]: Start isEmpty. Operand 1016 states and 1399 transitions. [2022-04-15 05:49:05,513 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:49:05,513 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:49:05,513 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:49:05,530 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Forceful destruction successful, exit code 0 [2022-04-15 05:49:05,713 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-15 05:49:05,714 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:49:05,714 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:49:05,714 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 21 times [2022-04-15 05:49:05,714 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:49:05,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [121847558] [2022-04-15 05:49:05,717 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:49:05,717 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:49:05,717 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:49:05,717 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 22 times [2022-04-15 05:49:05,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:49:05,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1759822769] [2022-04-15 05:49:05,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:49:05,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:49:05,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:05,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:49:05,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:05,796 INFO L290 TraceCheckUtils]: 0: Hoare triple {85439#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:05,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:05,797 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {85363#true} #95#return; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:05,800 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:49:05,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:06,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {85440#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85363#true} is VALID [2022-04-15 05:49:06,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:49:06,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:49:06,263 INFO L290 TraceCheckUtils]: 3: Hoare triple {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:49:06,264 INFO L290 TraceCheckUtils]: 4: Hoare triple {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-15 05:49:06,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:06,266 INFO L290 TraceCheckUtils]: 6: Hoare triple {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:06,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:49:06,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:49:06,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:49:06,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,269 INFO L290 TraceCheckUtils]: 11: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,269 INFO L290 TraceCheckUtils]: 12: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:06,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:06,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:06,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:49:06,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:06,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:06,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:49:06,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,276 INFO L290 TraceCheckUtils]: 23: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,295 INFO L290 TraceCheckUtils]: 26: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,295 INFO L290 TraceCheckUtils]: 27: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,295 INFO L290 TraceCheckUtils]: 28: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 29: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 30: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 31: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 32: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 33: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 34: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 35: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 37: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,296 INFO L290 TraceCheckUtils]: 38: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 39: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 40: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 41: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 42: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 43: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 44: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 45: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 46: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 47: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 48: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,297 INFO L290 TraceCheckUtils]: 49: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,298 INFO L290 TraceCheckUtils]: 50: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,298 INFO L290 TraceCheckUtils]: 51: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,298 INFO L290 TraceCheckUtils]: 52: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:06,298 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {85364#false} {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {85364#false} is VALID [2022-04-15 05:49:06,299 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:49:06,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:06,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,302 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,302 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:49:06,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:06,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,305 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,305 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:49:06,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:06,307 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,307 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:49:06,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:06,309 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85439#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:49:06,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {85439#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {85363#true} #95#return; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,312 INFO L272 TraceCheckUtils]: 4: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,313 INFO L290 TraceCheckUtils]: 6: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,314 INFO L290 TraceCheckUtils]: 10: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,315 INFO L290 TraceCheckUtils]: 12: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,316 INFO L290 TraceCheckUtils]: 16: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:49:06,317 INFO L272 TraceCheckUtils]: 17: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {85440#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:49:06,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {85440#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85363#true} is VALID [2022-04-15 05:49:06,317 INFO L290 TraceCheckUtils]: 19: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:49:06,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-15 05:49:06,318 INFO L290 TraceCheckUtils]: 21: Hoare triple {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:49:06,319 INFO L290 TraceCheckUtils]: 22: Hoare triple {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-15 05:49:06,320 INFO L290 TraceCheckUtils]: 23: Hoare triple {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:06,321 INFO L290 TraceCheckUtils]: 24: Hoare triple {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:06,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:49:06,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:49:06,322 INFO L290 TraceCheckUtils]: 27: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:49:06,323 INFO L290 TraceCheckUtils]: 28: Hoare triple {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,324 INFO L290 TraceCheckUtils]: 29: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,324 INFO L290 TraceCheckUtils]: 30: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,325 INFO L290 TraceCheckUtils]: 31: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,325 INFO L290 TraceCheckUtils]: 32: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-15 05:49:06,326 INFO L290 TraceCheckUtils]: 33: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:06,327 INFO L290 TraceCheckUtils]: 34: Hoare triple {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:06,328 INFO L290 TraceCheckUtils]: 35: Hoare triple {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:06,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:49:06,329 INFO L290 TraceCheckUtils]: 37: Hoare triple {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:06,330 INFO L290 TraceCheckUtils]: 38: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:06,330 INFO L290 TraceCheckUtils]: 39: Hoare triple {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 40: Hoare triple {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 41: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 42: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 43: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 44: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 47: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 48: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 49: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 50: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 51: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 52: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 53: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:06,331 INFO L290 TraceCheckUtils]: 54: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 56: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 57: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 58: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 59: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 60: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 61: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 63: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 64: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 65: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 67: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 68: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:06,332 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 73: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L272 TraceCheckUtils]: 74: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,333 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 80: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 81: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:06,333 INFO L272 TraceCheckUtils]: 82: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,333 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 88: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 89: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L272 TraceCheckUtils]: 90: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 96: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 97: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:06,334 INFO L272 TraceCheckUtils]: 98: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:06,334 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:06,335 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:06,335 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L290 TraceCheckUtils]: 104: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L290 TraceCheckUtils]: 105: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L272 TraceCheckUtils]: 106: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-15 05:49:06,335 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 130 proven. 45 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-15 05:49:06,336 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:49:06,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1759822769] [2022-04-15 05:49:06,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1759822769] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:49:06,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [114612057] [2022-04-15 05:49:06,336 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 05:49:06,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:49:06,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:49:06,337 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:49:06,338 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-15 05:49:06,489 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 05:49:06,490 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:49:06,491 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 05:49:06,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:06,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:49:06,754 INFO L356 Elim1Store]: treesize reduction 39, result has 22.0 percent of original size [2022-04-15 05:49:06,755 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 24 [2022-04-15 05:49:07,180 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 05:49:07,181 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-15 05:49:07,416 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-15 05:49:07,416 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 10 [2022-04-15 05:49:07,530 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-15 05:49:07,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85363#true} is VALID [2022-04-15 05:49:07,530 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:07,530 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-15 05:49:07,530 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-15 05:49:07,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {85363#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 6: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 10: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 11: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 12: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-15 05:49:07,531 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-15 05:49:07,532 INFO L290 TraceCheckUtils]: 18: Hoare triple {85363#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85513#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:49:07,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {85513#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,533 INFO L290 TraceCheckUtils]: 20: Hoare triple {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,533 INFO L290 TraceCheckUtils]: 21: Hoare triple {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,533 INFO L290 TraceCheckUtils]: 22: Hoare triple {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,535 INFO L290 TraceCheckUtils]: 26: Hoare triple {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,536 INFO L290 TraceCheckUtils]: 27: Hoare triple {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85544#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,536 INFO L290 TraceCheckUtils]: 28: Hoare triple {85544#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,536 INFO L290 TraceCheckUtils]: 29: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,538 INFO L290 TraceCheckUtils]: 32: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} assume !(~i~0 < ~n~0); {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-15 05:49:07,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85513#(= SelectionSort_~lh~0 0)} is VALID [2022-04-15 05:49:07,538 INFO L290 TraceCheckUtils]: 34: Hoare triple {85513#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85567#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-15 05:49:07,539 INFO L290 TraceCheckUtils]: 35: Hoare triple {85567#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-15 05:49:07,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-15 05:49:07,540 INFO L290 TraceCheckUtils]: 37: Hoare triple {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-15 05:49:07,540 INFO L290 TraceCheckUtils]: 38: Hoare triple {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85581#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:07,541 INFO L290 TraceCheckUtils]: 39: Hoare triple {85581#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85585#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:49:07,541 INFO L290 TraceCheckUtils]: 40: Hoare triple {85585#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85589#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:07,542 INFO L290 TraceCheckUtils]: 41: Hoare triple {85589#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:07,542 INFO L290 TraceCheckUtils]: 42: Hoare triple {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:07,543 INFO L290 TraceCheckUtils]: 43: Hoare triple {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:07,544 INFO L290 TraceCheckUtils]: 44: Hoare triple {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:07,544 INFO L290 TraceCheckUtils]: 45: Hoare triple {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-15 05:49:07,545 INFO L290 TraceCheckUtils]: 46: Hoare triple {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85610#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:49:07,546 INFO L290 TraceCheckUtils]: 47: Hoare triple {85610#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85614#(and (= (+ (- 2) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:49:07,546 INFO L290 TraceCheckUtils]: 48: Hoare triple {85614#(and (= (+ (- 2) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} is VALID [2022-04-15 05:49:07,547 INFO L290 TraceCheckUtils]: 49: Hoare triple {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} is VALID [2022-04-15 05:49:07,547 INFO L290 TraceCheckUtils]: 50: Hoare triple {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85625#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ SelectionSort_~i~0 (- 3)) 0))} is VALID [2022-04-15 05:49:07,548 INFO L290 TraceCheckUtils]: 51: Hoare triple {85625#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ SelectionSort_~i~0 (- 3)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85629#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} is VALID [2022-04-15 05:49:07,548 INFO L290 TraceCheckUtils]: 52: Hoare triple {85629#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 53: Hoare triple {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 54: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 56: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 57: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 58: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 59: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 60: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 61: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:07,549 INFO L290 TraceCheckUtils]: 63: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 64: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 65: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 67: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 68: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 73: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L272 TraceCheckUtils]: 74: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 75: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 76: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L290 TraceCheckUtils]: 77: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:07,550 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 80: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 81: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L272 TraceCheckUtils]: 82: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 83: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 84: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 85: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 88: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 89: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L272 TraceCheckUtils]: 90: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 91: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 92: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 05:49:07,551 INFO L290 TraceCheckUtils]: 93: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 96: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 97: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L272 TraceCheckUtils]: 98: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 99: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 100: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 101: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 104: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 105: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L272 TraceCheckUtils]: 106: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 05:49:07,552 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-15 05:49:07,553 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-15 05:49:07,553 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 90 proven. 123 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-15 05:49:07,553 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:49:09,395 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L272 TraceCheckUtils]: 106: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 105: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 104: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:09,396 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:09,396 INFO L272 TraceCheckUtils]: 98: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 97: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 96: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:09,397 INFO L272 TraceCheckUtils]: 90: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 89: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 88: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:09,397 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:09,398 INFO L272 TraceCheckUtils]: 82: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 81: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 80: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 05:49:09,398 INFO L272 TraceCheckUtils]: 74: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 73: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:09,398 INFO L290 TraceCheckUtils]: 68: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 67: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 65: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 64: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 63: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 61: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 60: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 59: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 58: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 57: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 56: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 05:49:09,399 INFO L290 TraceCheckUtils]: 54: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-15 05:49:09,400 INFO L290 TraceCheckUtils]: 53: Hoare triple {85975#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-15 05:49:09,400 INFO L290 TraceCheckUtils]: 52: Hoare triple {85979#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85975#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-15 05:49:09,401 INFO L290 TraceCheckUtils]: 51: Hoare triple {85983#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85979#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:09,401 INFO L290 TraceCheckUtils]: 50: Hoare triple {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85983#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:09,402 INFO L290 TraceCheckUtils]: 49: Hoare triple {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:09,403 INFO L290 TraceCheckUtils]: 48: Hoare triple {85994#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:49:09,403 INFO L290 TraceCheckUtils]: 47: Hoare triple {85998#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85994#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:09,404 INFO L290 TraceCheckUtils]: 46: Hoare triple {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85998#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:09,405 INFO L290 TraceCheckUtils]: 45: Hoare triple {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:49:09,405 INFO L290 TraceCheckUtils]: 44: Hoare triple {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:49:09,406 INFO L290 TraceCheckUtils]: 43: Hoare triple {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:49:09,406 INFO L290 TraceCheckUtils]: 42: Hoare triple {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:49:09,409 INFO L290 TraceCheckUtils]: 41: Hoare triple {86019#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:49:09,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {86023#(or (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {86019#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-15 05:49:09,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {86027#(or (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {86023#(or (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:49:09,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {86027#(or (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-15 05:49:09,414 INFO L290 TraceCheckUtils]: 37: Hoare triple {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:49:09,414 INFO L290 TraceCheckUtils]: 36: Hoare triple {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:49:09,415 INFO L290 TraceCheckUtils]: 35: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {85363#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 33: Hoare triple {85363#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 32: Hoare triple {85363#true} assume !(~i~0 < ~n~0); {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 31: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {85363#true} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 28: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {85363#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 26: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {85363#true} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-15 05:49:09,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {85363#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {85363#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 10: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-15 05:49:09,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-15 05:49:09,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {85363#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {85363#true} is VALID [2022-04-15 05:49:09,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-15 05:49:09,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-15 05:49:09,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 05:49:09,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85363#true} is VALID [2022-04-15 05:49:09,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-15 05:49:09,418 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 171 proven. 28 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-15 05:49:09,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [114612057] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 05:49:09,418 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 05:49:09,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 21, 14] total 50 [2022-04-15 05:49:09,419 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:49:09,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [121847558] [2022-04-15 05:49:09,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [121847558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:49:09,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:49:09,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 05:49:09,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [408887865] [2022-04-15 05:49:09,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:49:09,419 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:49:09,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:49:09,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:49:09,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:49:09,458 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 05:49:09,458 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:49:09,459 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 05:49:09,459 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=160, Invalid=2290, Unknown=0, NotChecked=0, Total=2450 [2022-04-15 05:49:09,459 INFO L87 Difference]: Start difference. First operand 1016 states and 1399 transitions. Second operand has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:49:30,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:49:30,823 INFO L93 Difference]: Finished difference Result 2132 states and 2958 transitions. [2022-04-15 05:49:30,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-15 05:49:30,823 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:49:30,823 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:49:30,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:49:30,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-15 05:49:30,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:49:30,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-15 05:49:30,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 161 transitions. [2022-04-15 05:49:31,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:49:31,106 INFO L225 Difference]: With dead ends: 2132 [2022-04-15 05:49:31,107 INFO L226 Difference]: Without dead ends: 1431 [2022-04-15 05:49:31,108 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 201 SyntacticMatches, 1 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1572 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=548, Invalid=6592, Unknown=0, NotChecked=0, Total=7140 [2022-04-15 05:49:31,109 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 124 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 1177 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 1177 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-15 05:49:31,109 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [124 Valid, 45 Invalid, 1255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [78 Valid, 1177 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-15 05:49:31,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1431 states. [2022-04-15 05:49:44,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1431 to 1146. [2022-04-15 05:49:44,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:49:44,582 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1431 states. Second operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:49:44,582 INFO L74 IsIncluded]: Start isIncluded. First operand 1431 states. Second operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:49:44,583 INFO L87 Difference]: Start difference. First operand 1431 states. Second operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:49:44,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:49:44,631 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-15 05:49:44,631 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-15 05:49:44,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:49:44,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:49:44,633 INFO L74 IsIncluded]: Start isIncluded. First operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1431 states. [2022-04-15 05:49:44,633 INFO L87 Difference]: Start difference. First operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1431 states. [2022-04-15 05:49:44,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:49:44,682 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-15 05:49:44,682 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-15 05:49:44,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:49:44,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:49:44,683 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:49:44,683 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:49:44,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:49:44,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1146 states to 1146 states and 1558 transitions. [2022-04-15 05:49:44,739 INFO L78 Accepts]: Start accepts. Automaton has 1146 states and 1558 transitions. Word has length 110 [2022-04-15 05:49:44,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:49:44,739 INFO L478 AbstractCegarLoop]: Abstraction has 1146 states and 1558 transitions. [2022-04-15 05:49:44,739 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:49:44,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1146 states and 1558 transitions. [2022-04-15 05:49:53,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1558 edges. 1558 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:49:53,264 INFO L276 IsEmpty]: Start isEmpty. Operand 1146 states and 1558 transitions. [2022-04-15 05:49:53,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:49:53,266 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:49:53,266 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:49:53,290 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Ended with exit code 0 [2022-04-15 05:49:53,466 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 35 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable35 [2022-04-15 05:49:53,466 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:49:53,467 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:49:53,467 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 23 times [2022-04-15 05:49:53,467 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:49:53,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1778566485] [2022-04-15 05:49:53,470 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:49:53,470 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:49:53,470 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:49:53,470 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 24 times [2022-04-15 05:49:53,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:49:53,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [846734242] [2022-04-15 05:49:53,471 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:49:53,471 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:49:53,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:53,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:49:53,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:53,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {95711#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:53,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume true; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:53,616 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} {95634#true} #95#return; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:53,620 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:49:53,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:55,087 INFO L290 TraceCheckUtils]: 0: Hoare triple {95712#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:49:55,088 INFO L290 TraceCheckUtils]: 1: Hoare triple {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,089 INFO L290 TraceCheckUtils]: 3: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:49:55,090 INFO L290 TraceCheckUtils]: 4: Hoare triple {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} is VALID [2022-04-15 05:49:55,090 INFO L290 TraceCheckUtils]: 5: Hoare triple {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} is VALID [2022-04-15 05:49:55,091 INFO L290 TraceCheckUtils]: 6: Hoare triple {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} is VALID [2022-04-15 05:49:55,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,095 INFO L290 TraceCheckUtils]: 10: Hoare triple {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:55,096 INFO L290 TraceCheckUtils]: 11: Hoare triple {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-15 05:49:55,098 INFO L290 TraceCheckUtils]: 12: Hoare triple {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} is VALID [2022-04-15 05:49:55,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-15 05:49:55,101 INFO L290 TraceCheckUtils]: 14: Hoare triple {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} is VALID [2022-04-15 05:49:55,103 INFO L290 TraceCheckUtils]: 15: Hoare triple {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,104 INFO L290 TraceCheckUtils]: 16: Hoare triple {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:49:55,105 INFO L290 TraceCheckUtils]: 17: Hoare triple {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:55,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:55,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:55,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-15 05:49:55,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-15 05:49:55,109 INFO L290 TraceCheckUtils]: 22: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-15 05:49:55,110 INFO L290 TraceCheckUtils]: 23: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} is VALID [2022-04-15 05:49:55,111 INFO L290 TraceCheckUtils]: 24: Hoare triple {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:49:55,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,112 INFO L290 TraceCheckUtils]: 26: Hoare triple {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,113 INFO L290 TraceCheckUtils]: 27: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,113 INFO L290 TraceCheckUtils]: 28: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,114 INFO L290 TraceCheckUtils]: 29: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,115 INFO L290 TraceCheckUtils]: 30: Hoare triple {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,115 INFO L290 TraceCheckUtils]: 31: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,116 INFO L290 TraceCheckUtils]: 32: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,116 INFO L290 TraceCheckUtils]: 33: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:49:55,117 INFO L290 TraceCheckUtils]: 34: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:49:55,117 INFO L290 TraceCheckUtils]: 35: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:49:55,118 INFO L290 TraceCheckUtils]: 36: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,118 INFO L290 TraceCheckUtils]: 37: Hoare triple {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,119 INFO L290 TraceCheckUtils]: 38: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,119 INFO L290 TraceCheckUtils]: 39: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,120 INFO L290 TraceCheckUtils]: 40: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,120 INFO L290 TraceCheckUtils]: 41: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,120 INFO L290 TraceCheckUtils]: 42: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,121 INFO L290 TraceCheckUtils]: 43: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,121 INFO L290 TraceCheckUtils]: 44: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,122 INFO L290 TraceCheckUtils]: 45: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,122 INFO L290 TraceCheckUtils]: 46: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,123 INFO L290 TraceCheckUtils]: 47: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,123 INFO L290 TraceCheckUtils]: 48: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,124 INFO L290 TraceCheckUtils]: 49: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,124 INFO L290 TraceCheckUtils]: 50: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,124 INFO L290 TraceCheckUtils]: 51: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~lh~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,125 INFO L290 TraceCheckUtils]: 52: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume true; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,125 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #91#return; {95635#false} is VALID [2022-04-15 05:49:55,126 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:49:55,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:55,128 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,128 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:49:55,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:55,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,130 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,130 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:49:55,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:55,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,132 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:49:55,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:55,136 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,137 INFO L272 TraceCheckUtils]: 0: Hoare triple {95634#true} call ULTIMATE.init(); {95711#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:49:55,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {95711#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume true; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,139 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} {95634#true} #95#return; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} call #t~ret10 := main(); {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,140 INFO L290 TraceCheckUtils]: 6: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,141 INFO L290 TraceCheckUtils]: 7: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,141 INFO L290 TraceCheckUtils]: 8: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,143 INFO L290 TraceCheckUtils]: 10: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,143 INFO L290 TraceCheckUtils]: 11: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,144 INFO L290 TraceCheckUtils]: 12: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,146 INFO L290 TraceCheckUtils]: 16: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !(~i~1 >= 0); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-15 05:49:55,146 INFO L272 TraceCheckUtils]: 17: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} call SelectionSort(); {95712#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:49:55,146 INFO L290 TraceCheckUtils]: 18: Hoare triple {95712#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:49:55,147 INFO L290 TraceCheckUtils]: 19: Hoare triple {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,147 INFO L290 TraceCheckUtils]: 20: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-15 05:49:55,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} is VALID [2022-04-15 05:49:55,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} is VALID [2022-04-15 05:49:55,150 INFO L290 TraceCheckUtils]: 24: Hoare triple {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,151 INFO L290 TraceCheckUtils]: 25: Hoare triple {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} is VALID [2022-04-15 05:49:55,152 INFO L290 TraceCheckUtils]: 26: Hoare triple {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,152 INFO L290 TraceCheckUtils]: 27: Hoare triple {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-15 05:49:55,153 INFO L290 TraceCheckUtils]: 28: Hoare triple {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} is VALID [2022-04-15 05:49:55,154 INFO L290 TraceCheckUtils]: 29: Hoare triple {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-15 05:49:55,156 INFO L290 TraceCheckUtils]: 30: Hoare triple {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} is VALID [2022-04-15 05:49:55,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-15 05:49:55,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} is VALID [2022-04-15 05:49:55,161 INFO L290 TraceCheckUtils]: 33: Hoare triple {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,162 INFO L290 TraceCheckUtils]: 34: Hoare triple {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} is VALID [2022-04-15 05:49:55,163 INFO L290 TraceCheckUtils]: 35: Hoare triple {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:55,164 INFO L290 TraceCheckUtils]: 36: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:55,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-15 05:49:55,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-15 05:49:55,166 INFO L290 TraceCheckUtils]: 39: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-15 05:49:55,167 INFO L290 TraceCheckUtils]: 40: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-15 05:49:55,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} is VALID [2022-04-15 05:49:55,169 INFO L290 TraceCheckUtils]: 42: Hoare triple {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-15 05:49:55,170 INFO L290 TraceCheckUtils]: 43: Hoare triple {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,170 INFO L290 TraceCheckUtils]: 44: Hoare triple {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,171 INFO L290 TraceCheckUtils]: 45: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,171 INFO L290 TraceCheckUtils]: 46: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,172 INFO L290 TraceCheckUtils]: 47: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,172 INFO L290 TraceCheckUtils]: 48: Hoare triple {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,173 INFO L290 TraceCheckUtils]: 49: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,173 INFO L290 TraceCheckUtils]: 50: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,174 INFO L290 TraceCheckUtils]: 51: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:49:55,175 INFO L290 TraceCheckUtils]: 52: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:49:55,175 INFO L290 TraceCheckUtils]: 53: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:49:55,175 INFO L290 TraceCheckUtils]: 54: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,176 INFO L290 TraceCheckUtils]: 55: Hoare triple {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,177 INFO L290 TraceCheckUtils]: 56: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,177 INFO L290 TraceCheckUtils]: 57: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,177 INFO L290 TraceCheckUtils]: 58: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,178 INFO L290 TraceCheckUtils]: 59: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,178 INFO L290 TraceCheckUtils]: 60: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,179 INFO L290 TraceCheckUtils]: 61: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,179 INFO L290 TraceCheckUtils]: 62: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,180 INFO L290 TraceCheckUtils]: 63: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,180 INFO L290 TraceCheckUtils]: 64: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,180 INFO L290 TraceCheckUtils]: 65: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,181 INFO L290 TraceCheckUtils]: 66: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,181 INFO L290 TraceCheckUtils]: 67: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,182 INFO L290 TraceCheckUtils]: 68: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,182 INFO L290 TraceCheckUtils]: 69: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~lh~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,182 INFO L290 TraceCheckUtils]: 70: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume true; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-15 05:49:55,183 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #91#return; {95635#false} is VALID [2022-04-15 05:49:55,183 INFO L290 TraceCheckUtils]: 72: Hoare triple {95635#false} ~i~1 := 0; {95635#false} is VALID [2022-04-15 05:49:55,183 INFO L290 TraceCheckUtils]: 73: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-15 05:49:55,183 INFO L272 TraceCheckUtils]: 74: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-15 05:49:55,183 INFO L290 TraceCheckUtils]: 75: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,183 INFO L290 TraceCheckUtils]: 76: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 77: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,184 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 79: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 80: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 81: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-15 05:49:55,184 INFO L272 TraceCheckUtils]: 82: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 83: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 84: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 85: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,184 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,184 INFO L290 TraceCheckUtils]: 87: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 88: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 89: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-15 05:49:55,185 INFO L272 TraceCheckUtils]: 90: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 91: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 92: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 93: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,185 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 95: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 96: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 97: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-15 05:49:55,185 INFO L272 TraceCheckUtils]: 98: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-15 05:49:55,185 INFO L290 TraceCheckUtils]: 99: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 100: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 101: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 05:49:55,186 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 103: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 104: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 105: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-15 05:49:55,186 INFO L272 TraceCheckUtils]: 106: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95635#false} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 107: Hoare triple {95635#false} ~cond := #in~cond; {95635#false} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 108: Hoare triple {95635#false} assume 0 == ~cond; {95635#false} is VALID [2022-04-15 05:49:55,186 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-15 05:49:55,187 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 47 proven. 179 refuted. 0 times theorem prover too weak. 93 trivial. 0 not checked. [2022-04-15 05:49:55,187 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:49:55,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [846734242] [2022-04-15 05:49:55,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [846734242] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:49:55,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1772726418] [2022-04-15 05:49:55,188 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 05:49:55,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:49:55,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:49:55,195 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:49:55,197 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2022-04-15 05:49:55,558 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-15 05:49:55,558 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:49:55,561 INFO L263 TraceCheckSpWp]: Trace formula consists of 365 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-15 05:49:55,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:49:55,592 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:49:55,654 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:49:55,654 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:49:55,690 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:49:55,798 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:49:55,798 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:49:55,890 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:49:55,890 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:49:55,964 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 05:49:55,965 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 30 [2022-04-15 05:49:56,105 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 05:49:56,105 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 34 [2022-04-15 05:49:56,751 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:49:58,230 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:49:58,230 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:49:58,348 INFO L272 TraceCheckUtils]: 0: Hoare triple {95634#true} call ULTIMATE.init(); {95634#true} is VALID [2022-04-15 05:49:58,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:49:58,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:49:58,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {95634#true} #95#return; {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:49:58,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:49:58,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {95760#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,351 INFO L290 TraceCheckUtils]: 6: Hoare triple {95760#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95764#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:49:58,352 INFO L290 TraceCheckUtils]: 7: Hoare triple {95764#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,352 INFO L290 TraceCheckUtils]: 8: Hoare triple {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,353 INFO L290 TraceCheckUtils]: 9: Hoare triple {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95775#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,354 INFO L290 TraceCheckUtils]: 10: Hoare triple {95775#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,354 INFO L290 TraceCheckUtils]: 11: Hoare triple {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95786#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 16 (* main_~i~1 4))))} is VALID [2022-04-15 05:49:58,355 INFO L290 TraceCheckUtils]: 13: Hoare triple {95786#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 16 (* main_~i~1 4))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,356 INFO L290 TraceCheckUtils]: 15: Hoare triple {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95797#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 2 main_~i~1)))} is VALID [2022-04-15 05:49:58,357 INFO L290 TraceCheckUtils]: 16: Hoare triple {95797#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 2 main_~i~1)))} assume !(~i~1 >= 0); {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,358 INFO L272 TraceCheckUtils]: 17: Hoare triple {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,359 INFO L290 TraceCheckUtils]: 20: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,359 INFO L290 TraceCheckUtils]: 21: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,360 INFO L290 TraceCheckUtils]: 22: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,360 INFO L290 TraceCheckUtils]: 23: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,360 INFO L290 TraceCheckUtils]: 24: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,361 INFO L290 TraceCheckUtils]: 25: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,361 INFO L290 TraceCheckUtils]: 26: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,361 INFO L290 TraceCheckUtils]: 27: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,362 INFO L290 TraceCheckUtils]: 28: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,362 INFO L290 TraceCheckUtils]: 29: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,363 INFO L290 TraceCheckUtils]: 30: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,363 INFO L290 TraceCheckUtils]: 31: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,363 INFO L290 TraceCheckUtils]: 32: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,364 INFO L290 TraceCheckUtils]: 33: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,364 INFO L290 TraceCheckUtils]: 34: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,365 INFO L290 TraceCheckUtils]: 35: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,365 INFO L290 TraceCheckUtils]: 36: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,366 INFO L290 TraceCheckUtils]: 37: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,366 INFO L290 TraceCheckUtils]: 38: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,367 INFO L290 TraceCheckUtils]: 39: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,367 INFO L290 TraceCheckUtils]: 40: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,367 INFO L290 TraceCheckUtils]: 41: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,368 INFO L290 TraceCheckUtils]: 42: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,368 INFO L290 TraceCheckUtils]: 43: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,369 INFO L290 TraceCheckUtils]: 44: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,369 INFO L290 TraceCheckUtils]: 45: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,371 WARN L290 TraceCheckUtils]: 46: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:49:58,372 INFO L290 TraceCheckUtils]: 47: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,372 INFO L290 TraceCheckUtils]: 48: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,373 INFO L290 TraceCheckUtils]: 49: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,373 INFO L290 TraceCheckUtils]: 50: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,373 INFO L290 TraceCheckUtils]: 51: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,374 INFO L290 TraceCheckUtils]: 52: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,374 INFO L290 TraceCheckUtils]: 53: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,375 INFO L290 TraceCheckUtils]: 54: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,375 INFO L290 TraceCheckUtils]: 55: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,377 WARN L290 TraceCheckUtils]: 56: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:49:58,378 INFO L290 TraceCheckUtils]: 57: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,378 INFO L290 TraceCheckUtils]: 58: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,378 INFO L290 TraceCheckUtils]: 59: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,379 INFO L290 TraceCheckUtils]: 60: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,379 INFO L290 TraceCheckUtils]: 61: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,380 INFO L290 TraceCheckUtils]: 62: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,382 WARN L290 TraceCheckUtils]: 63: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:49:58,382 INFO L290 TraceCheckUtils]: 64: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,382 INFO L290 TraceCheckUtils]: 65: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,383 INFO L290 TraceCheckUtils]: 66: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,385 WARN L290 TraceCheckUtils]: 67: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:49:58,385 INFO L290 TraceCheckUtils]: 68: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,385 INFO L290 TraceCheckUtils]: 69: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,386 INFO L290 TraceCheckUtils]: 70: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume true; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:49:58,387 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {95968#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,387 INFO L290 TraceCheckUtils]: 72: Hoare triple {95968#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:49:58,388 INFO L290 TraceCheckUtils]: 73: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:49:58,389 INFO L272 TraceCheckUtils]: 74: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,389 INFO L290 TraceCheckUtils]: 75: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,389 INFO L290 TraceCheckUtils]: 76: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,389 INFO L290 TraceCheckUtils]: 77: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,390 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:49:58,390 INFO L290 TraceCheckUtils]: 79: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:49:58,391 INFO L290 TraceCheckUtils]: 80: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:49:58,391 INFO L290 TraceCheckUtils]: 81: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:49:58,392 INFO L272 TraceCheckUtils]: 82: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,393 INFO L290 TraceCheckUtils]: 83: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,393 INFO L290 TraceCheckUtils]: 84: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,393 INFO L290 TraceCheckUtils]: 85: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,394 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #93#return; {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:49:58,394 INFO L290 TraceCheckUtils]: 87: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} havoc #t~mem9; {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-15 05:49:58,395 INFO L290 TraceCheckUtils]: 88: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,395 INFO L290 TraceCheckUtils]: 89: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,396 INFO L272 TraceCheckUtils]: 90: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,396 INFO L290 TraceCheckUtils]: 91: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,397 INFO L290 TraceCheckUtils]: 92: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,397 INFO L290 TraceCheckUtils]: 93: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,398 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,398 INFO L290 TraceCheckUtils]: 95: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,398 INFO L290 TraceCheckUtils]: 96: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,399 INFO L290 TraceCheckUtils]: 97: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,400 INFO L272 TraceCheckUtils]: 98: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,400 INFO L290 TraceCheckUtils]: 99: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,400 INFO L290 TraceCheckUtils]: 100: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,401 INFO L290 TraceCheckUtils]: 101: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-15 05:49:58,401 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,402 INFO L290 TraceCheckUtils]: 103: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,402 INFO L290 TraceCheckUtils]: 104: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {96073#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:49:58,403 INFO L290 TraceCheckUtils]: 105: Hoare triple {96073#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {96077#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-15 05:49:58,403 INFO L272 TraceCheckUtils]: 106: Hoare triple {96077#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {96081#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:49:58,403 INFO L290 TraceCheckUtils]: 107: Hoare triple {96081#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {96085#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:49:58,404 INFO L290 TraceCheckUtils]: 108: Hoare triple {96085#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {95635#false} is VALID [2022-04-15 05:49:58,404 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-15 05:49:58,404 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 1 proven. 171 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 05:49:58,404 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:49:58,839 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1995 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1995) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)) 4)) is different from false [2022-04-15 05:49:58,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1772726418] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:49:58,840 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:49:58,840 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 23] total 55 [2022-04-15 05:49:58,840 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:49:58,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1778566485] [2022-04-15 05:49:58,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1778566485] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:49:58,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:49:58,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-15 05:49:58,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1240288090] [2022-04-15 05:49:58,841 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:49:58,841 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:49:58,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:49:58,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:49:58,912 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:49:58,912 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-15 05:49:58,912 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:49:58,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-15 05:49:58,913 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=248, Invalid=3526, Unknown=12, NotChecked=120, Total=3906 [2022-04-15 05:49:58,913 INFO L87 Difference]: Start difference. First operand 1146 states and 1558 transitions. Second operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:51:01,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:51:01,744 INFO L93 Difference]: Finished difference Result 3247 states and 4448 transitions. [2022-04-15 05:51:01,744 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 102 states. [2022-04-15 05:51:01,744 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:51:01,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:51:01,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:51:01,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-15 05:51:01,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:51:01,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-15 05:51:01,747 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 209 transitions. [2022-04-15 05:51:02,125 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:51:02,369 INFO L225 Difference]: With dead ends: 3247 [2022-04-15 05:51:02,369 INFO L226 Difference]: Without dead ends: 2448 [2022-04-15 05:51:02,372 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 296 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 159 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 8437 ImplicationChecksByTransitivity, 15.4s TimeCoverageRelationStatistics Valid=2493, Invalid=22881, Unknown=70, NotChecked=316, Total=25760 [2022-04-15 05:51:02,372 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 264 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 1418 mSolverCounterSat, 279 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 05:51:02,373 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.3s Time] [2022-04-15 05:51:02,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2448 states. [2022-04-15 05:51:32,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2448 to 2216. [2022-04-15 05:51:32,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:51:32,975 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2448 states. Second operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:51:32,976 INFO L74 IsIncluded]: Start isIncluded. First operand 2448 states. Second operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:51:32,977 INFO L87 Difference]: Start difference. First operand 2448 states. Second operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:51:33,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:51:33,126 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-15 05:51:33,126 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-15 05:51:33,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:51:33,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:51:33,129 INFO L74 IsIncluded]: Start isIncluded. First operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2448 states. [2022-04-15 05:51:33,130 INFO L87 Difference]: Start difference. First operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2448 states. [2022-04-15 05:51:33,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:51:33,270 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-15 05:51:33,270 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-15 05:51:33,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:51:33,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:51:33,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:51:33,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:51:33,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:51:33,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2216 states to 2216 states and 3039 transitions. [2022-04-15 05:51:33,461 INFO L78 Accepts]: Start accepts. Automaton has 2216 states and 3039 transitions. Word has length 110 [2022-04-15 05:51:33,462 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:51:33,462 INFO L478 AbstractCegarLoop]: Abstraction has 2216 states and 3039 transitions. [2022-04-15 05:51:33,462 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:51:33,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2216 states and 3039 transitions. [2022-04-15 05:51:53,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 3039 edges. 3039 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:51:53,088 INFO L276 IsEmpty]: Start isEmpty. Operand 2216 states and 3039 transitions. [2022-04-15 05:51:53,090 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 05:51:53,090 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 05:51:53,090 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 05:51:53,115 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Ended with exit code 0 [2022-04-15 05:51:53,291 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-15 05:51:53,291 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 05:51:53,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 05:51:53,291 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 25 times [2022-04-15 05:51:53,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 05:51:53,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [999542390] [2022-04-15 05:51:53,294 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 05:51:53,294 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-15 05:51:53,294 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 05:51:53,295 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 26 times [2022-04-15 05:51:53,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 05:51:53,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2145119165] [2022-04-15 05:51:53,295 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 05:51:53,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 05:51:53,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:53,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 05:51:53,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:53,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {112312#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:53,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:53,490 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {112235#true} #95#return; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:53,494 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 05:51:53,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:55,333 INFO L290 TraceCheckUtils]: 0: Hoare triple {112313#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:51:55,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,335 INFO L290 TraceCheckUtils]: 3: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,335 INFO L290 TraceCheckUtils]: 4: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:51:55,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:51:55,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:51:55,340 INFO L290 TraceCheckUtils]: 10: Hoare triple {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:51:55,341 INFO L290 TraceCheckUtils]: 11: Hoare triple {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:51:55,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:51:55,343 INFO L290 TraceCheckUtils]: 13: Hoare triple {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-15 05:51:55,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !(~i~0 < ~n~0); {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:51:55,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:51:55,347 INFO L290 TraceCheckUtils]: 16: Hoare triple {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-15 05:51:55,348 INFO L290 TraceCheckUtils]: 17: Hoare triple {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,349 INFO L290 TraceCheckUtils]: 18: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-15 05:51:55,350 INFO L290 TraceCheckUtils]: 19: Hoare triple {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-15 05:51:55,353 INFO L290 TraceCheckUtils]: 21: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-15 05:51:55,354 INFO L290 TraceCheckUtils]: 22: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-15 05:51:55,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} is VALID [2022-04-15 05:51:55,356 INFO L290 TraceCheckUtils]: 24: Hoare triple {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,357 INFO L290 TraceCheckUtils]: 25: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,359 INFO L290 TraceCheckUtils]: 26: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,361 INFO L290 TraceCheckUtils]: 28: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,362 INFO L290 TraceCheckUtils]: 29: Hoare triple {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-15 05:51:55,363 INFO L290 TraceCheckUtils]: 30: Hoare triple {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,364 INFO L290 TraceCheckUtils]: 31: Hoare triple {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} is VALID [2022-04-15 05:51:55,365 INFO L290 TraceCheckUtils]: 32: Hoare triple {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,366 INFO L290 TraceCheckUtils]: 33: Hoare triple {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} is VALID [2022-04-15 05:51:55,366 INFO L290 TraceCheckUtils]: 34: Hoare triple {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-15 05:51:55,367 INFO L290 TraceCheckUtils]: 35: Hoare triple {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:51:55,368 INFO L290 TraceCheckUtils]: 36: Hoare triple {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} is VALID [2022-04-15 05:51:55,368 INFO L290 TraceCheckUtils]: 37: Hoare triple {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,369 INFO L290 TraceCheckUtils]: 38: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,369 INFO L290 TraceCheckUtils]: 39: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,370 INFO L290 TraceCheckUtils]: 40: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,370 INFO L290 TraceCheckUtils]: 41: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,371 INFO L290 TraceCheckUtils]: 42: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,371 INFO L290 TraceCheckUtils]: 43: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,372 INFO L290 TraceCheckUtils]: 44: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,372 INFO L290 TraceCheckUtils]: 45: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,372 INFO L290 TraceCheckUtils]: 46: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,373 INFO L290 TraceCheckUtils]: 47: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,373 INFO L290 TraceCheckUtils]: 48: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,374 INFO L290 TraceCheckUtils]: 49: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,374 INFO L290 TraceCheckUtils]: 50: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,375 INFO L290 TraceCheckUtils]: 51: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~lh~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,375 INFO L290 TraceCheckUtils]: 52: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume true; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,376 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {112236#false} is VALID [2022-04-15 05:51:55,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 05:51:55,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:55,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,379 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 05:51:55,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:55,387 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,387 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 05:51:55,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:55,389 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,389 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 05:51:55,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:55,391 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {112235#true} call ULTIMATE.init(); {112312#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 05:51:55,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {112312#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {112235#true} #95#return; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,395 INFO L290 TraceCheckUtils]: 6: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,398 INFO L290 TraceCheckUtils]: 10: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,401 INFO L290 TraceCheckUtils]: 15: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,401 INFO L290 TraceCheckUtils]: 16: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-15 05:51:55,402 INFO L272 TraceCheckUtils]: 17: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call SelectionSort(); {112313#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 05:51:55,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {112313#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-15 05:51:55,403 INFO L290 TraceCheckUtils]: 19: Hoare triple {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,404 INFO L290 TraceCheckUtils]: 21: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,405 INFO L290 TraceCheckUtils]: 23: Hoare triple {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,406 INFO L290 TraceCheckUtils]: 24: Hoare triple {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-15 05:51:55,406 INFO L290 TraceCheckUtils]: 25: Hoare triple {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:51:55,407 INFO L290 TraceCheckUtils]: 26: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:51:55,408 INFO L290 TraceCheckUtils]: 27: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-15 05:51:55,409 INFO L290 TraceCheckUtils]: 28: Hoare triple {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:51:55,410 INFO L290 TraceCheckUtils]: 29: Hoare triple {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:51:55,411 INFO L290 TraceCheckUtils]: 30: Hoare triple {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-15 05:51:55,412 INFO L290 TraceCheckUtils]: 31: Hoare triple {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-15 05:51:55,413 INFO L290 TraceCheckUtils]: 32: Hoare triple {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !(~i~0 < ~n~0); {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:51:55,414 INFO L290 TraceCheckUtils]: 33: Hoare triple {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-15 05:51:55,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-15 05:51:55,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,418 INFO L290 TraceCheckUtils]: 36: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-15 05:51:55,419 INFO L290 TraceCheckUtils]: 37: Hoare triple {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,420 INFO L290 TraceCheckUtils]: 38: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-15 05:51:55,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-15 05:51:55,422 INFO L290 TraceCheckUtils]: 40: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-15 05:51:55,424 INFO L290 TraceCheckUtils]: 41: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} is VALID [2022-04-15 05:51:55,425 INFO L290 TraceCheckUtils]: 42: Hoare triple {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,426 INFO L290 TraceCheckUtils]: 43: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,428 INFO L290 TraceCheckUtils]: 45: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,429 INFO L290 TraceCheckUtils]: 46: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,430 INFO L290 TraceCheckUtils]: 47: Hoare triple {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-15 05:51:55,431 INFO L290 TraceCheckUtils]: 48: Hoare triple {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-15 05:51:55,432 INFO L290 TraceCheckUtils]: 49: Hoare triple {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} is VALID [2022-04-15 05:51:55,433 INFO L290 TraceCheckUtils]: 50: Hoare triple {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,434 INFO L290 TraceCheckUtils]: 51: Hoare triple {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} is VALID [2022-04-15 05:51:55,435 INFO L290 TraceCheckUtils]: 52: Hoare triple {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-15 05:51:55,435 INFO L290 TraceCheckUtils]: 53: Hoare triple {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-15 05:51:55,436 INFO L290 TraceCheckUtils]: 54: Hoare triple {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} is VALID [2022-04-15 05:51:55,437 INFO L290 TraceCheckUtils]: 55: Hoare triple {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,437 INFO L290 TraceCheckUtils]: 56: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,438 INFO L290 TraceCheckUtils]: 57: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,438 INFO L290 TraceCheckUtils]: 58: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,438 INFO L290 TraceCheckUtils]: 59: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,439 INFO L290 TraceCheckUtils]: 61: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,440 INFO L290 TraceCheckUtils]: 62: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,440 INFO L290 TraceCheckUtils]: 63: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,441 INFO L290 TraceCheckUtils]: 64: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,441 INFO L290 TraceCheckUtils]: 65: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,442 INFO L290 TraceCheckUtils]: 66: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,442 INFO L290 TraceCheckUtils]: 67: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,443 INFO L290 TraceCheckUtils]: 68: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,443 INFO L290 TraceCheckUtils]: 69: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~lh~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,443 INFO L290 TraceCheckUtils]: 70: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume true; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-15 05:51:55,444 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {112236#false} is VALID [2022-04-15 05:51:55,444 INFO L290 TraceCheckUtils]: 72: Hoare triple {112236#false} ~i~1 := 0; {112236#false} is VALID [2022-04-15 05:51:55,444 INFO L290 TraceCheckUtils]: 73: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-15 05:51:55,444 INFO L272 TraceCheckUtils]: 74: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-15 05:51:55,444 INFO L290 TraceCheckUtils]: 75: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,444 INFO L290 TraceCheckUtils]: 76: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,444 INFO L290 TraceCheckUtils]: 77: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,444 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 79: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 80: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 81: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L272 TraceCheckUtils]: 82: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 83: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 84: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 85: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,445 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 87: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 88: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 89: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-15 05:51:55,445 INFO L272 TraceCheckUtils]: 90: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 91: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 92: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,445 INFO L290 TraceCheckUtils]: 93: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,446 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 95: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 96: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 97: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L272 TraceCheckUtils]: 98: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 99: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 100: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 101: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 05:51:55,446 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 103: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 104: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 105: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L272 TraceCheckUtils]: 106: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 107: Hoare triple {112236#false} ~cond := #in~cond; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 108: Hoare triple {112236#false} assume 0 == ~cond; {112236#false} is VALID [2022-04-15 05:51:55,446 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-15 05:51:55,447 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 23 proven. 203 refuted. 0 times theorem prover too weak. 93 trivial. 0 not checked. [2022-04-15 05:51:55,447 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 05:51:55,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2145119165] [2022-04-15 05:51:55,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2145119165] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:51:55,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [861700423] [2022-04-15 05:51:55,448 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 05:51:55,448 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 05:51:55,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 05:51:55,449 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 05:51:55,449 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2022-04-15 05:51:55,619 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 05:51:55,620 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 05:51:55,622 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 05:51:55,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 05:51:55,655 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 05:51:55,729 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 05:51:55,729 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-15 05:51:55,771 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-15 05:51:55,890 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:51:55,890 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:51:55,989 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:51:55,990 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:51:56,077 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:51:56,078 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:51:56,176 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 05:51:56,176 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-15 05:51:56,791 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 05:51:58,364 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 05:51:58,364 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-15 05:51:58,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {112235#true} call ULTIMATE.init(); {112235#true} is VALID [2022-04-15 05:51:58,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:51:58,502 INFO L290 TraceCheckUtils]: 2: Hoare triple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:51:58,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {112235#true} #95#return; {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:51:58,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-15 05:51:58,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {112363#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,504 INFO L290 TraceCheckUtils]: 6: Hoare triple {112363#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112367#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-15 05:51:58,504 INFO L290 TraceCheckUtils]: 7: Hoare triple {112367#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,506 INFO L290 TraceCheckUtils]: 10: Hoare triple {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,507 INFO L290 TraceCheckUtils]: 11: Hoare triple {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:51:58,507 INFO L290 TraceCheckUtils]: 12: Hoare triple {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-15 05:51:58,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112392#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-15 05:51:58,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {112392#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,509 INFO L290 TraceCheckUtils]: 16: Hoare triple {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,509 INFO L272 TraceCheckUtils]: 17: Hoare triple {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,523 INFO L290 TraceCheckUtils]: 21: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,524 INFO L290 TraceCheckUtils]: 22: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,525 INFO L290 TraceCheckUtils]: 26: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,526 INFO L290 TraceCheckUtils]: 27: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,526 INFO L290 TraceCheckUtils]: 28: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,526 INFO L290 TraceCheckUtils]: 29: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,527 INFO L290 TraceCheckUtils]: 30: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,527 INFO L290 TraceCheckUtils]: 31: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,527 INFO L290 TraceCheckUtils]: 32: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,528 INFO L290 TraceCheckUtils]: 33: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,529 INFO L290 TraceCheckUtils]: 34: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,529 INFO L290 TraceCheckUtils]: 35: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,530 INFO L290 TraceCheckUtils]: 36: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,530 INFO L290 TraceCheckUtils]: 37: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,531 INFO L290 TraceCheckUtils]: 38: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,531 INFO L290 TraceCheckUtils]: 39: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,532 INFO L290 TraceCheckUtils]: 40: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,532 INFO L290 TraceCheckUtils]: 41: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,533 INFO L290 TraceCheckUtils]: 42: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,533 INFO L290 TraceCheckUtils]: 43: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,534 INFO L290 TraceCheckUtils]: 44: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,534 INFO L290 TraceCheckUtils]: 45: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,536 WARN L290 TraceCheckUtils]: 46: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:51:58,536 INFO L290 TraceCheckUtils]: 47: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,537 INFO L290 TraceCheckUtils]: 48: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,537 INFO L290 TraceCheckUtils]: 49: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,538 INFO L290 TraceCheckUtils]: 50: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,538 INFO L290 TraceCheckUtils]: 51: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,539 INFO L290 TraceCheckUtils]: 52: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,539 INFO L290 TraceCheckUtils]: 53: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,540 INFO L290 TraceCheckUtils]: 54: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,540 INFO L290 TraceCheckUtils]: 55: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,542 WARN L290 TraceCheckUtils]: 56: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:51:58,543 INFO L290 TraceCheckUtils]: 57: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,543 INFO L290 TraceCheckUtils]: 58: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,544 INFO L290 TraceCheckUtils]: 59: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,544 INFO L290 TraceCheckUtils]: 60: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,545 INFO L290 TraceCheckUtils]: 61: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,545 INFO L290 TraceCheckUtils]: 62: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,547 WARN L290 TraceCheckUtils]: 63: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:51:58,547 INFO L290 TraceCheckUtils]: 64: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,548 INFO L290 TraceCheckUtils]: 65: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,548 INFO L290 TraceCheckUtils]: 66: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,549 WARN L290 TraceCheckUtils]: 67: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-15 05:51:58,550 INFO L290 TraceCheckUtils]: 68: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,550 INFO L290 TraceCheckUtils]: 69: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,551 INFO L290 TraceCheckUtils]: 70: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume true; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-15 05:51:58,552 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {112570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,552 INFO L290 TraceCheckUtils]: 72: Hoare triple {112570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:51:58,552 INFO L290 TraceCheckUtils]: 73: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:51:58,553 INFO L272 TraceCheckUtils]: 74: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,554 INFO L290 TraceCheckUtils]: 75: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,554 INFO L290 TraceCheckUtils]: 76: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,554 INFO L290 TraceCheckUtils]: 77: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,555 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:51:58,555 INFO L290 TraceCheckUtils]: 79: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-15 05:51:58,556 INFO L290 TraceCheckUtils]: 80: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:51:58,556 INFO L290 TraceCheckUtils]: 81: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:51:58,557 INFO L272 TraceCheckUtils]: 82: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,557 INFO L290 TraceCheckUtils]: 83: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,558 INFO L290 TraceCheckUtils]: 84: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,558 INFO L290 TraceCheckUtils]: 85: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,558 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #93#return; {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:51:58,559 INFO L290 TraceCheckUtils]: 87: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} havoc #t~mem9; {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-15 05:51:58,559 INFO L290 TraceCheckUtils]: 88: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,560 INFO L290 TraceCheckUtils]: 89: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,560 INFO L272 TraceCheckUtils]: 90: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,561 INFO L290 TraceCheckUtils]: 91: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,561 INFO L290 TraceCheckUtils]: 92: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,562 INFO L290 TraceCheckUtils]: 93: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,562 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,562 INFO L290 TraceCheckUtils]: 95: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,563 INFO L290 TraceCheckUtils]: 96: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-15 05:51:58,563 INFO L290 TraceCheckUtils]: 97: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-15 05:51:58,564 INFO L272 TraceCheckUtils]: 98: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,564 INFO L290 TraceCheckUtils]: 99: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,565 INFO L290 TraceCheckUtils]: 100: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,565 INFO L290 TraceCheckUtils]: 101: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-15 05:51:58,566 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} #93#return; {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-15 05:51:58,566 INFO L290 TraceCheckUtils]: 103: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} havoc #t~mem9; {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-15 05:51:58,566 INFO L290 TraceCheckUtils]: 104: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112675#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-15 05:51:58,567 INFO L290 TraceCheckUtils]: 105: Hoare triple {112675#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112679#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-15 05:51:58,567 INFO L272 TraceCheckUtils]: 106: Hoare triple {112679#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112683#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 05:51:58,568 INFO L290 TraceCheckUtils]: 107: Hoare triple {112683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {112687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 05:51:58,568 INFO L290 TraceCheckUtils]: 108: Hoare triple {112687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {112236#false} is VALID [2022-04-15 05:51:58,568 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-15 05:51:58,568 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 9 proven. 163 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 05:51:58,569 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 05:51:59,037 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_2086 (Array Int Int))) (= 4 (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_2086) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)))) is different from false [2022-04-15 05:51:59,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [861700423] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 05:51:59,038 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 05:51:59,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 22] total 56 [2022-04-15 05:51:59,039 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 05:51:59,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [999542390] [2022-04-15 05:51:59,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [999542390] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 05:51:59,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 05:51:59,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-15 05:51:59,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [17890128] [2022-04-15 05:51:59,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 05:51:59,039 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:51:59,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 05:51:59,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:51:59,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:51:59,112 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-15 05:51:59,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 05:51:59,112 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-15 05:51:59,112 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=3669, Unknown=11, NotChecked=122, Total=4032 [2022-04-15 05:51:59,112 INFO L87 Difference]: Start difference. First operand 2216 states and 3039 transitions. Second operand has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:53:03,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:53:03,611 INFO L93 Difference]: Finished difference Result 3068 states and 4214 transitions. [2022-04-15 05:53:03,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 85 states. [2022-04-15 05:53:03,611 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-15 05:53:03,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 05:53:03,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:53:03,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-15 05:53:03,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:53:03,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-15 05:53:03,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 209 transitions. [2022-04-15 05:53:04,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 05:53:04,380 INFO L225 Difference]: With dead ends: 3068 [2022-04-15 05:53:04,380 INFO L226 Difference]: Without dead ends: 2901 [2022-04-15 05:53:04,382 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 280 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 143 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 6074 ImplicationChecksByTransitivity, 13.5s TimeCoverageRelationStatistics Valid=2026, Invalid=18529, Unknown=41, NotChecked=284, Total=20880 [2022-04-15 05:53:04,383 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 208 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 2400 mSolverCounterSat, 214 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 209 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 2614 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 214 IncrementalHoareTripleChecker+Valid, 2400 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-15 05:53:04,383 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.8s Time] [2022-04-15 05:53:04,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2901 states. [2022-04-15 05:53:35,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2901 to 2224. [2022-04-15 05:53:35,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 05:53:35,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2901 states. Second operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:53:35,736 INFO L74 IsIncluded]: Start isIncluded. First operand 2901 states. Second operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:53:35,737 INFO L87 Difference]: Start difference. First operand 2901 states. Second operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:53:35,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:53:35,931 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-15 05:53:35,931 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-15 05:53:35,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:53:35,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:53:35,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2901 states. [2022-04-15 05:53:35,936 INFO L87 Difference]: Start difference. First operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2901 states. [2022-04-15 05:53:36,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 05:53:36,144 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-15 05:53:36,145 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-15 05:53:36,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 05:53:36,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 05:53:36,147 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 05:53:36,147 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 05:53:36,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 05:53:36,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2224 states to 2224 states and 3044 transitions. [2022-04-15 05:53:36,341 INFO L78 Accepts]: Start accepts. Automaton has 2224 states and 3044 transitions. Word has length 110 [2022-04-15 05:53:36,341 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 05:53:36,341 INFO L478 AbstractCegarLoop]: Abstraction has 2224 states and 3044 transitions. [2022-04-15 05:53:36,341 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 05:53:36,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2224 states and 3044 transitions.