/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/verifythis/prefixsum_iter.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 10:38:22,615 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 10:38:22,625 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 10:38:22,668 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 10:38:22,668 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 10:38:22,669 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 10:38:22,670 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 10:38:22,685 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 10:38:22,687 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 10:38:22,687 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 10:38:22,688 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 10:38:22,689 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 10:38:22,689 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 10:38:22,689 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 10:38:22,690 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 10:38:22,691 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 10:38:22,691 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 10:38:22,692 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 10:38:22,693 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 10:38:22,694 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 10:38:22,696 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 10:38:22,705 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 10:38:22,706 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 10:38:22,706 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 10:38:22,707 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 10:38:22,709 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 10:38:22,709 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 10:38:22,709 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 10:38:22,710 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 10:38:22,710 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 10:38:22,711 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 10:38:22,711 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 10:38:22,712 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 10:38:22,712 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 10:38:22,713 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 10:38:22,713 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 10:38:22,713 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 10:38:22,714 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 10:38:22,714 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 10:38:22,714 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 10:38:22,715 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 10:38:22,716 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 10:38:22,716 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 10:38:22,722 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 10:38:22,722 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 10:38:22,723 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 10:38:22,723 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 10:38:22,723 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 10:38:22,723 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 10:38:22,724 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 10:38:22,724 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 10:38:22,724 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 10:38:22,724 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 10:38:22,724 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 10:38:22,724 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 10:38:22,725 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 10:38:22,725 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 10:38:22,725 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 10:38:22,725 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:38:22,725 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 10:38:22,726 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 10:38:22,726 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 10:38:22,726 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 10:38:22,726 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 10:38:22,726 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 10:38:22,726 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 10:38:22,905 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 10:38:22,919 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 10:38:22,921 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 10:38:22,921 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 10:38:22,927 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 10:38:22,929 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/verifythis/prefixsum_iter.c [2022-04-08 10:38:22,982 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/721d4f0d6/5dcdae7810a64a92bcb41e586c292251/FLAG806d08aae [2022-04-08 10:38:23,258 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 10:38:23,258 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/verifythis/prefixsum_iter.c [2022-04-08 10:38:23,262 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/721d4f0d6/5dcdae7810a64a92bcb41e586c292251/FLAG806d08aae [2022-04-08 10:38:23,701 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/721d4f0d6/5dcdae7810a64a92bcb41e586c292251 [2022-04-08 10:38:23,703 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 10:38:23,704 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 10:38:23,706 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 10:38:23,706 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 10:38:23,714 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 10:38:23,715 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,716 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2cc9cd4a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23, skipping insertion in model container [2022-04-08 10:38:23,716 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,721 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 10:38:23,741 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 10:38:23,880 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/prefixsum_iter.c[526,539] [2022-04-08 10:38:23,910 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:38:23,918 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 10:38:23,927 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/prefixsum_iter.c[526,539] [2022-04-08 10:38:23,939 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:38:23,955 INFO L208 MainTranslator]: Completed translation [2022-04-08 10:38:23,956 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23 WrapperNode [2022-04-08 10:38:23,956 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 10:38:23,957 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 10:38:23,957 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 10:38:23,957 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 10:38:23,966 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,966 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,972 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,972 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,989 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,993 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:23,994 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:24,004 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 10:38:24,005 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 10:38:24,005 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 10:38:24,005 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 10:38:24,012 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (1/1) ... [2022-04-08 10:38:24,017 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:38:24,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:24,042 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 10:38:24,053 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure upsweep [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure downsweep [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure is_pow2 [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure check [2022-04-08 10:38:24,082 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 10:38:24,083 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-04-08 10:38:24,083 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2022-04-08 10:38:24,083 INFO L130 BoogieDeclarations]: Found specification of procedure free [2022-04-08 10:38:24,083 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 10:38:24,083 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure upsweep [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure downsweep [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure is_pow2 [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure check [2022-04-08 10:38:24,084 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 10:38:24,085 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-08 10:38:24,085 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-04-08 10:38:24,085 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 10:38:24,085 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 10:38:24,085 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 10:38:24,085 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 10:38:24,149 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 10:38:24,150 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 10:38:26,584 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 10:38:26,593 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 10:38:26,593 INFO L299 CfgBuilder]: Removed 7 assume(true) statements. [2022-04-08 10:38:26,599 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:38:26 BoogieIcfgContainer [2022-04-08 10:38:26,600 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 10:38:26,601 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 10:38:26,601 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 10:38:26,603 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 10:38:26,604 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 10:38:23" (1/3) ... [2022-04-08 10:38:26,604 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ad7b557 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:38:26, skipping insertion in model container [2022-04-08 10:38:26,604 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:38:23" (2/3) ... [2022-04-08 10:38:26,604 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ad7b557 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:38:26, skipping insertion in model container [2022-04-08 10:38:26,604 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:38:26" (3/3) ... [2022-04-08 10:38:26,606 INFO L111 eAbstractionObserver]: Analyzing ICFG prefixsum_iter.c [2022-04-08 10:38:26,609 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 10:38:26,609 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 10:38:26,640 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 10:38:26,644 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 10:38:26,644 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 10:38:26,657 INFO L276 IsEmpty]: Start isEmpty. Operand has 64 states, 42 states have (on average 1.4047619047619047) internal successors, (59), 43 states have internal predecessors, (59), 11 states have call successors, (11), 9 states have call predecessors, (11), 9 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 10:38:26,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-08 10:38:26,663 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:26,663 INFO L499 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:38:26,664 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:26,667 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:26,667 INFO L85 PathProgramCache]: Analyzing trace with hash 242194828, now seen corresponding path program 1 times [2022-04-08 10:38:26,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:26,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [476294911] [2022-04-08 10:38:26,678 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:38:26,678 INFO L85 PathProgramCache]: Analyzing trace with hash 242194828, now seen corresponding path program 2 times [2022-04-08 10:38:26,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:26,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1367141180] [2022-04-08 10:38:26,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:26,681 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:26,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,863 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:26,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,891 INFO L290 TraceCheckUtils]: 0: Hoare triple {100#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {67#true} is VALID [2022-04-08 10:38:26,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:26,892 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67#true} {67#true} #160#return; {67#true} is VALID [2022-04-08 10:38:26,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:38:26,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,904 INFO L290 TraceCheckUtils]: 0: Hoare triple {67#true} ~cond := #in~cond; {67#true} is VALID [2022-04-08 10:38:26,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume 0 == ~cond;assume false; {68#false} is VALID [2022-04-08 10:38:26,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#false} assume true; {68#false} is VALID [2022-04-08 10:38:26,906 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68#false} {67#true} #142#return; {68#false} is VALID [2022-04-08 10:38:26,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:38:26,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {67#true} ~x := #in~x; {67#true} is VALID [2022-04-08 10:38:26,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {67#true} is VALID [2022-04-08 10:38:26,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {67#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {67#true} is VALID [2022-04-08 10:38:26,937 INFO L290 TraceCheckUtils]: 3: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:26,937 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {67#true} {68#false} #144#return; {68#false} is VALID [2022-04-08 10:38:26,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:38:26,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,947 INFO L290 TraceCheckUtils]: 0: Hoare triple {67#true} ~cond := #in~cond; {67#true} is VALID [2022-04-08 10:38:26,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume 0 == ~cond;assume false; {68#false} is VALID [2022-04-08 10:38:26,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#false} assume true; {68#false} is VALID [2022-04-08 10:38:26,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68#false} {68#false} #146#return; {68#false} is VALID [2022-04-08 10:38:26,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:38:26,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,966 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {67#true} is VALID [2022-04-08 10:38:26,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:26,967 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67#true} {68#false} #148#return; {68#false} is VALID [2022-04-08 10:38:26,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:38:26,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,975 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {67#true} is VALID [2022-04-08 10:38:26,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:26,976 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67#true} {68#false} #150#return; {68#false} is VALID [2022-04-08 10:38:26,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 35 [2022-04-08 10:38:26,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:26,999 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {67#true} is VALID [2022-04-08 10:38:26,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume !(~space~0 < ~n); {67#true} is VALID [2022-04-08 10:38:27,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {67#true} #res := ~space~0; {67#true} is VALID [2022-04-08 10:38:27,000 INFO L290 TraceCheckUtils]: 3: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,000 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {67#true} {68#false} #152#return; {68#false} is VALID [2022-04-08 10:38:27,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-08 10:38:27,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:27,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {67#true} is VALID [2022-04-08 10:38:27,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} assume !(~space > 0); {67#true} is VALID [2022-04-08 10:38:27,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,016 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67#true} {68#false} #154#return; {68#false} is VALID [2022-04-08 10:38:27,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {67#true} call ULTIMATE.init(); {100#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:38:27,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {100#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {67#true} is VALID [2022-04-08 10:38:27,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67#true} {67#true} #160#return; {67#true} is VALID [2022-04-08 10:38:27,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {67#true} call #t~ret20 := main(); {67#true} is VALID [2022-04-08 10:38:27,018 INFO L290 TraceCheckUtils]: 5: Hoare triple {67#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {67#true} is VALID [2022-04-08 10:38:27,018 INFO L272 TraceCheckUtils]: 6: Hoare triple {67#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {67#true} is VALID [2022-04-08 10:38:27,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {67#true} ~cond := #in~cond; {67#true} is VALID [2022-04-08 10:38:27,019 INFO L290 TraceCheckUtils]: 8: Hoare triple {67#true} assume 0 == ~cond;assume false; {68#false} is VALID [2022-04-08 10:38:27,019 INFO L290 TraceCheckUtils]: 9: Hoare triple {68#false} assume true; {68#false} is VALID [2022-04-08 10:38:27,019 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68#false} {67#true} #142#return; {68#false} is VALID [2022-04-08 10:38:27,019 INFO L272 TraceCheckUtils]: 11: Hoare triple {68#false} call #t~ret14 := is_pow2(~n~0); {67#true} is VALID [2022-04-08 10:38:27,019 INFO L290 TraceCheckUtils]: 12: Hoare triple {67#true} ~x := #in~x; {67#true} is VALID [2022-04-08 10:38:27,020 INFO L290 TraceCheckUtils]: 13: Hoare triple {67#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {67#true} is VALID [2022-04-08 10:38:27,020 INFO L290 TraceCheckUtils]: 14: Hoare triple {67#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {67#true} is VALID [2022-04-08 10:38:27,020 INFO L290 TraceCheckUtils]: 15: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,021 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {67#true} {68#false} #144#return; {68#false} is VALID [2022-04-08 10:38:27,023 INFO L290 TraceCheckUtils]: 17: Hoare triple {68#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {68#false} is VALID [2022-04-08 10:38:27,023 INFO L272 TraceCheckUtils]: 18: Hoare triple {68#false} call assume_abort_if_not(#t~ret14); {67#true} is VALID [2022-04-08 10:38:27,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {67#true} ~cond := #in~cond; {67#true} is VALID [2022-04-08 10:38:27,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {67#true} assume 0 == ~cond;assume false; {68#false} is VALID [2022-04-08 10:38:27,024 INFO L290 TraceCheckUtils]: 21: Hoare triple {68#false} assume true; {68#false} is VALID [2022-04-08 10:38:27,025 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {68#false} {68#false} #146#return; {68#false} is VALID [2022-04-08 10:38:27,026 INFO L290 TraceCheckUtils]: 23: Hoare triple {68#false} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {68#false} is VALID [2022-04-08 10:38:27,026 INFO L272 TraceCheckUtils]: 24: Hoare triple {68#false} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:27,026 INFO L290 TraceCheckUtils]: 25: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {67#true} is VALID [2022-04-08 10:38:27,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,026 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {67#true} {68#false} #148#return; {68#false} is VALID [2022-04-08 10:38:27,026 INFO L290 TraceCheckUtils]: 28: Hoare triple {68#false} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {68#false} is VALID [2022-04-08 10:38:27,027 INFO L272 TraceCheckUtils]: 29: Hoare triple {68#false} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:27,027 INFO L290 TraceCheckUtils]: 30: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {67#true} is VALID [2022-04-08 10:38:27,027 INFO L290 TraceCheckUtils]: 31: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,027 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {67#true} {68#false} #150#return; {68#false} is VALID [2022-04-08 10:38:27,027 INFO L290 TraceCheckUtils]: 33: Hoare triple {68#false} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {68#false} is VALID [2022-04-08 10:38:27,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {68#false} assume !(~i~1 < ~n~0); {68#false} is VALID [2022-04-08 10:38:27,027 INFO L272 TraceCheckUtils]: 35: Hoare triple {68#false} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:27,027 INFO L290 TraceCheckUtils]: 36: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {67#true} is VALID [2022-04-08 10:38:27,027 INFO L290 TraceCheckUtils]: 37: Hoare triple {67#true} assume !(~space~0 < ~n); {67#true} is VALID [2022-04-08 10:38:27,028 INFO L290 TraceCheckUtils]: 38: Hoare triple {67#true} #res := ~space~0; {67#true} is VALID [2022-04-08 10:38:27,028 INFO L290 TraceCheckUtils]: 39: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,028 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {67#true} {68#false} #152#return; {68#false} is VALID [2022-04-08 10:38:27,028 INFO L290 TraceCheckUtils]: 41: Hoare triple {68#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {68#false} is VALID [2022-04-08 10:38:27,028 INFO L272 TraceCheckUtils]: 42: Hoare triple {68#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:27,028 INFO L290 TraceCheckUtils]: 43: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {67#true} is VALID [2022-04-08 10:38:27,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {67#true} assume !(~space > 0); {67#true} is VALID [2022-04-08 10:38:27,028 INFO L290 TraceCheckUtils]: 45: Hoare triple {67#true} assume true; {67#true} is VALID [2022-04-08 10:38:27,029 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {67#true} {68#false} #154#return; {68#false} is VALID [2022-04-08 10:38:27,029 INFO L272 TraceCheckUtils]: 47: Hoare triple {68#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {68#false} is VALID [2022-04-08 10:38:27,029 INFO L290 TraceCheckUtils]: 48: Hoare triple {68#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {68#false} is VALID [2022-04-08 10:38:27,029 INFO L290 TraceCheckUtils]: 49: Hoare triple {68#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {68#false} is VALID [2022-04-08 10:38:27,029 INFO L272 TraceCheckUtils]: 50: Hoare triple {68#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {68#false} is VALID [2022-04-08 10:38:27,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {68#false} ~cond := #in~cond; {68#false} is VALID [2022-04-08 10:38:27,029 INFO L290 TraceCheckUtils]: 52: Hoare triple {68#false} assume 0 == ~cond; {68#false} is VALID [2022-04-08 10:38:27,030 INFO L290 TraceCheckUtils]: 53: Hoare triple {68#false} assume !false; {68#false} is VALID [2022-04-08 10:38:27,030 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 10:38:27,030 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:27,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1367141180] [2022-04-08 10:38:27,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1367141180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:27,031 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:27,031 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 10:38:27,035 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:27,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [476294911] [2022-04-08 10:38:27,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [476294911] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:27,035 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:27,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 10:38:27,036 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [428351719] [2022-04-08 10:38:27,036 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:27,041 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 54 [2022-04-08 10:38:27,042 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:27,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.5) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:27,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:27,112 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 10:38:27,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:27,137 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 10:38:27,137 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 10:38:27,140 INFO L87 Difference]: Start difference. First operand has 64 states, 42 states have (on average 1.4047619047619047) internal successors, (59), 43 states have internal predecessors, (59), 11 states have call successors, (11), 9 states have call predecessors, (11), 9 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:27,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:27,547 INFO L93 Difference]: Finished difference Result 127 states and 171 transitions. [2022-04-08 10:38:27,547 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:38:27,547 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 54 [2022-04-08 10:38:27,547 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:27,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:27,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 171 transitions. [2022-04-08 10:38:27,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:27,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 171 transitions. [2022-04-08 10:38:27,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 171 transitions. [2022-04-08 10:38:27,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:27,720 INFO L225 Difference]: With dead ends: 127 [2022-04-08 10:38:27,720 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 10:38:27,722 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:38:27,725 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 81 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 59 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:27,726 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [86 Valid, 59 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:38:27,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 10:38:27,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 57. [2022-04-08 10:38:27,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:27,763 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 57 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 38 states have internal predecessors, (45), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:27,764 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 57 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 38 states have internal predecessors, (45), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:27,764 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 57 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 38 states have internal predecessors, (45), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:27,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:27,769 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-08 10:38:27,770 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-08 10:38:27,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:27,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:27,770 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 38 states have internal predecessors, (45), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-08 10:38:27,771 INFO L87 Difference]: Start difference. First operand has 57 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 38 states have internal predecessors, (45), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-08 10:38:27,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:27,774 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-08 10:38:27,774 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-08 10:38:27,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:27,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:27,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:27,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:27,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 38 states have internal predecessors, (45), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:27,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 65 transitions. [2022-04-08 10:38:27,778 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 65 transitions. Word has length 54 [2022-04-08 10:38:27,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:27,778 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 65 transitions. [2022-04-08 10:38:27,779 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:27,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 65 transitions. [2022-04-08 10:38:27,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:27,832 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 65 transitions. [2022-04-08 10:38:27,833 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-08 10:38:27,833 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:27,833 INFO L499 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:38:27,833 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 10:38:27,833 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:27,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:27,834 INFO L85 PathProgramCache]: Analyzing trace with hash -73515768, now seen corresponding path program 1 times [2022-04-08 10:38:27,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:27,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [204893441] [2022-04-08 10:38:27,834 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:38:27,834 INFO L85 PathProgramCache]: Analyzing trace with hash -73515768, now seen corresponding path program 2 times [2022-04-08 10:38:27,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:27,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1235437411] [2022-04-08 10:38:27,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:27,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:27,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:27,961 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:27,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:27,969 INFO L290 TraceCheckUtils]: 0: Hoare triple {638#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {601#true} is VALID [2022-04-08 10:38:27,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:27,969 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {601#true} {601#true} #160#return; {601#true} is VALID [2022-04-08 10:38:27,969 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:38:27,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:27,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {601#true} ~cond := #in~cond; {601#true} is VALID [2022-04-08 10:38:27,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume !(0 == ~cond); {601#true} is VALID [2022-04-08 10:38:27,976 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:27,976 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#true} {601#true} #142#return; {601#true} is VALID [2022-04-08 10:38:27,976 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:38:27,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:27,991 INFO L290 TraceCheckUtils]: 0: Hoare triple {601#true} ~x := #in~x; {601#true} is VALID [2022-04-08 10:38:27,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {601#true} is VALID [2022-04-08 10:38:27,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {601#true} is VALID [2022-04-08 10:38:27,992 INFO L290 TraceCheckUtils]: 3: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:27,992 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {601#true} {601#true} #144#return; {601#true} is VALID [2022-04-08 10:38:27,992 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:38:27,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:27,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {601#true} ~cond := #in~cond; {601#true} is VALID [2022-04-08 10:38:27,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume !(0 == ~cond); {601#true} is VALID [2022-04-08 10:38:27,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:27,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#true} {601#true} #146#return; {601#true} is VALID [2022-04-08 10:38:28,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:38:28,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:28,010 INFO L290 TraceCheckUtils]: 0: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {601#true} is VALID [2022-04-08 10:38:28,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,010 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {601#true} {601#true} #148#return; {601#true} is VALID [2022-04-08 10:38:28,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:38:28,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:28,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {601#true} is VALID [2022-04-08 10:38:28,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,014 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {601#true} {601#true} #150#return; {601#true} is VALID [2022-04-08 10:38:28,014 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 35 [2022-04-08 10:38:28,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:28,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {601#true} is VALID [2022-04-08 10:38:28,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume !(~space~0 < ~n); {601#true} is VALID [2022-04-08 10:38:28,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} #res := ~space~0; {601#true} is VALID [2022-04-08 10:38:28,022 INFO L290 TraceCheckUtils]: 3: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,023 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {601#true} {626#(<= main_~n~0 0)} #152#return; {626#(<= main_~n~0 0)} is VALID [2022-04-08 10:38:28,023 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-08 10:38:28,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:28,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {601#true} is VALID [2022-04-08 10:38:28,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume !(~space > 0); {601#true} is VALID [2022-04-08 10:38:28,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#true} {626#(<= main_~n~0 0)} #154#return; {626#(<= main_~n~0 0)} is VALID [2022-04-08 10:38:28,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {601#true} call ULTIMATE.init(); {638#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:38:28,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {638#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {601#true} is VALID [2022-04-08 10:38:28,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#true} {601#true} #160#return; {601#true} is VALID [2022-04-08 10:38:28,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {601#true} call #t~ret20 := main(); {601#true} is VALID [2022-04-08 10:38:28,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {601#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {601#true} is VALID [2022-04-08 10:38:28,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {601#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {601#true} is VALID [2022-04-08 10:38:28,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {601#true} ~cond := #in~cond; {601#true} is VALID [2022-04-08 10:38:28,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#true} assume !(0 == ~cond); {601#true} is VALID [2022-04-08 10:38:28,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {601#true} {601#true} #142#return; {601#true} is VALID [2022-04-08 10:38:28,041 INFO L272 TraceCheckUtils]: 11: Hoare triple {601#true} call #t~ret14 := is_pow2(~n~0); {601#true} is VALID [2022-04-08 10:38:28,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {601#true} ~x := #in~x; {601#true} is VALID [2022-04-08 10:38:28,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {601#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {601#true} is VALID [2022-04-08 10:38:28,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {601#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {601#true} is VALID [2022-04-08 10:38:28,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,042 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {601#true} {601#true} #144#return; {601#true} is VALID [2022-04-08 10:38:28,042 INFO L290 TraceCheckUtils]: 17: Hoare triple {601#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {601#true} is VALID [2022-04-08 10:38:28,042 INFO L272 TraceCheckUtils]: 18: Hoare triple {601#true} call assume_abort_if_not(#t~ret14); {601#true} is VALID [2022-04-08 10:38:28,042 INFO L290 TraceCheckUtils]: 19: Hoare triple {601#true} ~cond := #in~cond; {601#true} is VALID [2022-04-08 10:38:28,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {601#true} assume !(0 == ~cond); {601#true} is VALID [2022-04-08 10:38:28,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,042 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {601#true} {601#true} #146#return; {601#true} is VALID [2022-04-08 10:38:28,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {601#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {601#true} is VALID [2022-04-08 10:38:28,045 INFO L272 TraceCheckUtils]: 24: Hoare triple {601#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {639#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:28,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {601#true} is VALID [2022-04-08 10:38:28,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,045 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {601#true} {601#true} #148#return; {601#true} is VALID [2022-04-08 10:38:28,045 INFO L290 TraceCheckUtils]: 28: Hoare triple {601#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {601#true} is VALID [2022-04-08 10:38:28,046 INFO L272 TraceCheckUtils]: 29: Hoare triple {601#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {639#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:28,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {601#true} is VALID [2022-04-08 10:38:28,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,046 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {601#true} {601#true} #150#return; {601#true} is VALID [2022-04-08 10:38:28,047 INFO L290 TraceCheckUtils]: 33: Hoare triple {601#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {625#(= main_~i~1 0)} is VALID [2022-04-08 10:38:28,047 INFO L290 TraceCheckUtils]: 34: Hoare triple {625#(= main_~i~1 0)} assume !(~i~1 < ~n~0); {626#(<= main_~n~0 0)} is VALID [2022-04-08 10:38:28,048 INFO L272 TraceCheckUtils]: 35: Hoare triple {626#(<= main_~n~0 0)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {639#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:28,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {601#true} is VALID [2022-04-08 10:38:28,048 INFO L290 TraceCheckUtils]: 37: Hoare triple {601#true} assume !(~space~0 < ~n); {601#true} is VALID [2022-04-08 10:38:28,048 INFO L290 TraceCheckUtils]: 38: Hoare triple {601#true} #res := ~space~0; {601#true} is VALID [2022-04-08 10:38:28,048 INFO L290 TraceCheckUtils]: 39: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,049 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {601#true} {626#(<= main_~n~0 0)} #152#return; {626#(<= main_~n~0 0)} is VALID [2022-04-08 10:38:28,049 INFO L290 TraceCheckUtils]: 41: Hoare triple {626#(<= main_~n~0 0)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {626#(<= main_~n~0 0)} is VALID [2022-04-08 10:38:28,050 INFO L272 TraceCheckUtils]: 42: Hoare triple {626#(<= main_~n~0 0)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {639#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:28,050 INFO L290 TraceCheckUtils]: 43: Hoare triple {639#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {601#true} is VALID [2022-04-08 10:38:28,050 INFO L290 TraceCheckUtils]: 44: Hoare triple {601#true} assume !(~space > 0); {601#true} is VALID [2022-04-08 10:38:28,050 INFO L290 TraceCheckUtils]: 45: Hoare triple {601#true} assume true; {601#true} is VALID [2022-04-08 10:38:28,051 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {601#true} {626#(<= main_~n~0 0)} #154#return; {626#(<= main_~n~0 0)} is VALID [2022-04-08 10:38:28,052 INFO L272 TraceCheckUtils]: 47: Hoare triple {626#(<= main_~n~0 0)} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {636#(<= |check_#in~n| 0)} is VALID [2022-04-08 10:38:28,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {636#(<= |check_#in~n| 0)} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {637#(and (<= check_~n 0) (= check_~i~0 0))} is VALID [2022-04-08 10:38:28,053 INFO L290 TraceCheckUtils]: 49: Hoare triple {637#(and (<= check_~n 0) (= check_~i~0 0))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {602#false} is VALID [2022-04-08 10:38:28,053 INFO L272 TraceCheckUtils]: 50: Hoare triple {602#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {602#false} is VALID [2022-04-08 10:38:28,053 INFO L290 TraceCheckUtils]: 51: Hoare triple {602#false} ~cond := #in~cond; {602#false} is VALID [2022-04-08 10:38:28,053 INFO L290 TraceCheckUtils]: 52: Hoare triple {602#false} assume 0 == ~cond; {602#false} is VALID [2022-04-08 10:38:28,053 INFO L290 TraceCheckUtils]: 53: Hoare triple {602#false} assume !false; {602#false} is VALID [2022-04-08 10:38:28,053 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 10:38:28,053 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:28,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1235437411] [2022-04-08 10:38:28,054 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1235437411] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:28,054 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:28,054 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:38:28,054 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:28,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [204893441] [2022-04-08 10:38:28,054 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [204893441] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:28,054 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:28,054 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:38:28,054 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485431048] [2022-04-08 10:38:28,054 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:28,055 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 5 states have internal predecessors, (30), 3 states have call successors, (11), 5 states have call predecessors, (11), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 54 [2022-04-08 10:38:28,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:28,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 5 states have internal predecessors, (30), 3 states have call successors, (11), 5 states have call predecessors, (11), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:28,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:28,089 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:38:28,089 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:28,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:38:28,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-08 10:38:28,090 INFO L87 Difference]: Start difference. First operand 57 states and 65 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 5 states have internal predecessors, (30), 3 states have call successors, (11), 5 states have call predecessors, (11), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:34,514 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:38:36,649 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.13s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:38:39,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:39,887 INFO L93 Difference]: Finished difference Result 81 states and 95 transitions. [2022-04-08 10:38:39,887 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 10:38:39,888 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 5 states have internal predecessors, (30), 3 states have call successors, (11), 5 states have call predecessors, (11), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 54 [2022-04-08 10:38:39,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:39,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 5 states have internal predecessors, (30), 3 states have call successors, (11), 5 states have call predecessors, (11), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:39,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-08 10:38:39,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 5 states have internal predecessors, (30), 3 states have call successors, (11), 5 states have call predecessors, (11), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:39,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-08 10:38:39,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 95 transitions. [2022-04-08 10:38:39,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:39,993 INFO L225 Difference]: With dead ends: 81 [2022-04-08 10:38:39,993 INFO L226 Difference]: Without dead ends: 65 [2022-04-08 10:38:39,993 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:38:39,994 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 84 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 305 mSolverCounterSat, 43 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 350 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 305 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:39,995 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [88 Valid, 55 Invalid, 350 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 305 Invalid, 2 Unknown, 0 Unchecked, 4.6s Time] [2022-04-08 10:38:39,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-08 10:38:40,005 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 58. [2022-04-08 10:38:40,005 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:40,005 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 58 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 39 states have internal predecessors, (46), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:40,006 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 58 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 39 states have internal predecessors, (46), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:40,006 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 58 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 39 states have internal predecessors, (46), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:40,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:40,009 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2022-04-08 10:38:40,009 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 75 transitions. [2022-04-08 10:38:40,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:40,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:40,010 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 39 states have internal predecessors, (46), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-08 10:38:40,011 INFO L87 Difference]: Start difference. First operand has 58 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 39 states have internal predecessors, (46), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-08 10:38:40,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:40,013 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2022-04-08 10:38:40,013 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 75 transitions. [2022-04-08 10:38:40,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:40,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:40,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:40,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:40,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 39 states have internal predecessors, (46), 11 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 10:38:40,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 66 transitions. [2022-04-08 10:38:40,017 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 66 transitions. Word has length 54 [2022-04-08 10:38:40,017 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:40,017 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 66 transitions. [2022-04-08 10:38:40,017 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 5 states have internal predecessors, (30), 3 states have call successors, (11), 5 states have call predecessors, (11), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:40,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 66 transitions. [2022-04-08 10:38:40,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:40,095 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-08 10:38:40,096 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 10:38:40,096 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:40,096 INFO L499 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:38:40,097 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 10:38:40,097 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:40,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:40,097 INFO L85 PathProgramCache]: Analyzing trace with hash -628313814, now seen corresponding path program 1 times [2022-04-08 10:38:40,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:40,097 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1493106671] [2022-04-08 10:38:40,098 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:38:40,098 INFO L85 PathProgramCache]: Analyzing trace with hash -628313814, now seen corresponding path program 2 times [2022-04-08 10:38:40,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:40,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1272581159] [2022-04-08 10:38:40,098 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:40,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:40,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,346 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:40,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,352 INFO L290 TraceCheckUtils]: 0: Hoare triple {1103#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {1061#true} is VALID [2022-04-08 10:38:40,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,352 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1061#true} {1061#true} #160#return; {1061#true} is VALID [2022-04-08 10:38:40,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:38:40,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,357 INFO L290 TraceCheckUtils]: 0: Hoare triple {1061#true} ~cond := #in~cond; {1061#true} is VALID [2022-04-08 10:38:40,357 INFO L290 TraceCheckUtils]: 1: Hoare triple {1061#true} assume !(0 == ~cond); {1061#true} is VALID [2022-04-08 10:38:40,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,357 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1061#true} {1061#true} #142#return; {1061#true} is VALID [2022-04-08 10:38:40,358 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:38:40,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {1061#true} ~x := #in~x; {1061#true} is VALID [2022-04-08 10:38:40,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {1061#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {1061#true} is VALID [2022-04-08 10:38:40,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {1061#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {1061#true} is VALID [2022-04-08 10:38:40,364 INFO L290 TraceCheckUtils]: 3: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,364 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1061#true} {1061#true} #144#return; {1061#true} is VALID [2022-04-08 10:38:40,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:38:40,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,367 INFO L290 TraceCheckUtils]: 0: Hoare triple {1061#true} ~cond := #in~cond; {1061#true} is VALID [2022-04-08 10:38:40,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {1061#true} assume !(0 == ~cond); {1061#true} is VALID [2022-04-08 10:38:40,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1061#true} {1061#true} #146#return; {1061#true} is VALID [2022-04-08 10:38:40,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:38:40,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,403 INFO L290 TraceCheckUtils]: 0: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:38:40,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:38:40,408 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {1079#(= (select |#valid| |main_#t~malloc15.base|) 1)} #148#return; {1083#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)))} is VALID [2022-04-08 10:38:40,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:38:40,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:38:40,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} assume true; {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:38:40,436 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} {1084#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} #150#return; {1084#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} is VALID [2022-04-08 10:38:40,437 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-08 10:38:40,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} assume !(~space~0 < ~n); {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} #res := ~space~0; {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,452 INFO L290 TraceCheckUtils]: 3: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} assume true; {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,454 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1104#(= |#memory_int| |old(#memory_int)|)} {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} #152#return; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,454 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 10:38:40,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,494 INFO L290 TraceCheckUtils]: 0: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} is VALID [2022-04-08 10:38:40,494 INFO L290 TraceCheckUtils]: 1: Hoare triple {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} assume !(~space > 0); {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} is VALID [2022-04-08 10:38:40,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} assume true; {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} is VALID [2022-04-08 10:38:40,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} #154#return; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,497 INFO L272 TraceCheckUtils]: 0: Hoare triple {1061#true} call ULTIMATE.init(); {1103#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:38:40,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {1103#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {1061#true} is VALID [2022-04-08 10:38:40,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1061#true} {1061#true} #160#return; {1061#true} is VALID [2022-04-08 10:38:40,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {1061#true} call #t~ret20 := main(); {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {1061#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L272 TraceCheckUtils]: 6: Hoare triple {1061#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {1061#true} ~cond := #in~cond; {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L290 TraceCheckUtils]: 8: Hoare triple {1061#true} assume !(0 == ~cond); {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1061#true} {1061#true} #142#return; {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L272 TraceCheckUtils]: 11: Hoare triple {1061#true} call #t~ret14 := is_pow2(~n~0); {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L290 TraceCheckUtils]: 12: Hoare triple {1061#true} ~x := #in~x; {1061#true} is VALID [2022-04-08 10:38:40,498 INFO L290 TraceCheckUtils]: 13: Hoare triple {1061#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {1061#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L290 TraceCheckUtils]: 15: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1061#true} {1061#true} #144#return; {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {1061#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L272 TraceCheckUtils]: 18: Hoare triple {1061#true} call assume_abort_if_not(#t~ret14); {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {1061#true} ~cond := #in~cond; {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {1061#true} assume !(0 == ~cond); {1061#true} is VALID [2022-04-08 10:38:40,499 INFO L290 TraceCheckUtils]: 21: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:40,500 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1061#true} {1061#true} #146#return; {1061#true} is VALID [2022-04-08 10:38:40,500 INFO L290 TraceCheckUtils]: 23: Hoare triple {1061#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1079#(= (select |#valid| |main_#t~malloc15.base|) 1)} is VALID [2022-04-08 10:38:40,501 INFO L272 TraceCheckUtils]: 24: Hoare triple {1079#(= (select |#valid| |main_#t~malloc15.base|) 1)} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,502 INFO L290 TraceCheckUtils]: 25: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:38:40,502 INFO L290 TraceCheckUtils]: 26: Hoare triple {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:38:40,503 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1105#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {1079#(= (select |#valid| |main_#t~malloc15.base|) 1)} #148#return; {1083#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)))} is VALID [2022-04-08 10:38:40,504 INFO L290 TraceCheckUtils]: 28: Hoare triple {1083#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)))} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1084#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} is VALID [2022-04-08 10:38:40,505 INFO L272 TraceCheckUtils]: 29: Hoare triple {1084#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,505 INFO L290 TraceCheckUtils]: 30: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:38:40,506 INFO L290 TraceCheckUtils]: 31: Hoare triple {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} assume true; {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:38:40,507 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1106#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} {1084#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} #150#return; {1084#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} is VALID [2022-04-08 10:38:40,508 INFO L290 TraceCheckUtils]: 33: Hoare triple {1084#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,508 INFO L290 TraceCheckUtils]: 34: Hoare triple {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,514 INFO L290 TraceCheckUtils]: 36: Hoare triple {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} assume !(~i~1 < ~n~0); {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,515 INFO L272 TraceCheckUtils]: 37: Hoare triple {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,516 INFO L290 TraceCheckUtils]: 38: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,517 INFO L290 TraceCheckUtils]: 39: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} assume !(~space~0 < ~n); {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,521 INFO L290 TraceCheckUtils]: 40: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} #res := ~space~0; {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,522 INFO L290 TraceCheckUtils]: 41: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} assume true; {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,523 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1104#(= |#memory_int| |old(#memory_int)|)} {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} #152#return; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,525 INFO L272 TraceCheckUtils]: 44: Hoare triple {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {1104#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:38:40,526 INFO L290 TraceCheckUtils]: 45: Hoare triple {1104#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} is VALID [2022-04-08 10:38:40,527 INFO L290 TraceCheckUtils]: 46: Hoare triple {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} assume !(~space > 0); {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} is VALID [2022-04-08 10:38:40,527 INFO L290 TraceCheckUtils]: 47: Hoare triple {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} assume true; {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} is VALID [2022-04-08 10:38:40,530 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1107#(or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |downsweep_#in~a.base|))))} {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} #154#return; {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:38:40,531 INFO L272 TraceCheckUtils]: 49: Hoare triple {1088#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {1098#(= (select (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0))) 0)} is VALID [2022-04-08 10:38:40,533 INFO L290 TraceCheckUtils]: 50: Hoare triple {1098#(= (select (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0))) 0)} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {1099#(= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) check_~a.offset)) check_~sum~0)} is VALID [2022-04-08 10:38:40,534 INFO L290 TraceCheckUtils]: 51: Hoare triple {1099#(= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) check_~a.offset)) check_~sum~0)} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {1100#(= |check_#t~mem11| check_~sum~0)} is VALID [2022-04-08 10:38:40,535 INFO L272 TraceCheckUtils]: 52: Hoare triple {1100#(= |check_#t~mem11| check_~sum~0)} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {1101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:38:40,536 INFO L290 TraceCheckUtils]: 53: Hoare triple {1101#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1102#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:38:40,541 INFO L290 TraceCheckUtils]: 54: Hoare triple {1102#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1062#false} is VALID [2022-04-08 10:38:40,541 INFO L290 TraceCheckUtils]: 55: Hoare triple {1062#false} assume !false; {1062#false} is VALID [2022-04-08 10:38:40,542 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 10:38:40,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:40,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1272581159] [2022-04-08 10:38:40,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1272581159] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:38:40,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [12310239] [2022-04-08 10:38:40,542 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:38:40,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:40,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:40,560 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:38:40,564 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 10:38:40,632 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 10:38:40,632 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:38:40,635 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 10:38:40,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:40,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:38:40,937 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2022-04-08 10:38:41,574 INFO L356 Elim1Store]: treesize reduction 14, result has 17.6 percent of original size [2022-04-08 10:38:41,574 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 24 treesize of output 10 [2022-04-08 10:38:41,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {1061#true} call ULTIMATE.init(); {1061#true} is VALID [2022-04-08 10:38:41,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {1061#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {1061#true} is VALID [2022-04-08 10:38:41,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:41,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1061#true} {1061#true} #160#return; {1061#true} is VALID [2022-04-08 10:38:41,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {1061#true} call #t~ret20 := main(); {1061#true} is VALID [2022-04-08 10:38:41,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {1061#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {1061#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {1061#true} ~cond := #in~cond; {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {1061#true} assume !(0 == ~cond); {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1061#true} {1061#true} #142#return; {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L272 TraceCheckUtils]: 11: Hoare triple {1061#true} call #t~ret14 := is_pow2(~n~0); {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L290 TraceCheckUtils]: 12: Hoare triple {1061#true} ~x := #in~x; {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {1061#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {1061#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:41,728 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1061#true} {1061#true} #144#return; {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {1061#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L272 TraceCheckUtils]: 18: Hoare triple {1061#true} call assume_abort_if_not(#t~ret14); {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L290 TraceCheckUtils]: 19: Hoare triple {1061#true} ~cond := #in~cond; {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L290 TraceCheckUtils]: 20: Hoare triple {1061#true} assume !(0 == ~cond); {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L290 TraceCheckUtils]: 21: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1061#true} {1061#true} #146#return; {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {1061#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L272 TraceCheckUtils]: 24: Hoare triple {1061#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L290 TraceCheckUtils]: 25: Hoare triple {1061#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1061#true} is VALID [2022-04-08 10:38:41,729 INFO L290 TraceCheckUtils]: 26: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1061#true} {1061#true} #148#return; {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L290 TraceCheckUtils]: 28: Hoare triple {1061#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L272 TraceCheckUtils]: 29: Hoare triple {1061#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L290 TraceCheckUtils]: 30: Hoare triple {1061#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L290 TraceCheckUtils]: 31: Hoare triple {1061#true} assume true; {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1061#true} {1061#true} #150#return; {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L290 TraceCheckUtils]: 33: Hoare triple {1061#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L290 TraceCheckUtils]: 34: Hoare triple {1061#true} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L290 TraceCheckUtils]: 35: Hoare triple {1061#true} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {1061#true} is VALID [2022-04-08 10:38:41,730 INFO L290 TraceCheckUtils]: 36: Hoare triple {1061#true} assume !(~i~1 < ~n~0); {1061#true} is VALID [2022-04-08 10:38:41,731 INFO L272 TraceCheckUtils]: 37: Hoare triple {1061#true} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {1061#true} is VALID [2022-04-08 10:38:41,731 INFO L290 TraceCheckUtils]: 38: Hoare triple {1061#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {1225#(and (<= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:38:41,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {1225#(and (<= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} assume !(~space~0 < ~n); {1229#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:38:41,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {1229#(<= |upsweep_#in~n| 1)} #res := ~space~0; {1229#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:38:41,733 INFO L290 TraceCheckUtils]: 41: Hoare triple {1229#(<= |upsweep_#in~n| 1)} assume true; {1229#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:38:41,733 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1229#(<= |upsweep_#in~n| 1)} {1061#true} #152#return; {1239#(<= main_~n~0 1)} is VALID [2022-04-08 10:38:41,734 INFO L290 TraceCheckUtils]: 43: Hoare triple {1239#(<= main_~n~0 1)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {1239#(<= main_~n~0 1)} is VALID [2022-04-08 10:38:41,734 INFO L272 TraceCheckUtils]: 44: Hoare triple {1239#(<= main_~n~0 1)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {1061#true} is VALID [2022-04-08 10:38:41,735 INFO L290 TraceCheckUtils]: 45: Hoare triple {1061#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {1249#(= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0)} is VALID [2022-04-08 10:38:41,735 INFO L290 TraceCheckUtils]: 46: Hoare triple {1249#(= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0)} assume !(~space > 0); {1249#(= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0)} is VALID [2022-04-08 10:38:41,737 INFO L290 TraceCheckUtils]: 47: Hoare triple {1249#(= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0)} assume true; {1249#(= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0)} is VALID [2022-04-08 10:38:41,739 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1249#(= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0)} {1239#(<= main_~n~0 1)} #154#return; {1259#(and (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* main_~n~0 4) (- 4))) 0) (<= main_~n~0 1))} is VALID [2022-04-08 10:38:41,741 INFO L272 TraceCheckUtils]: 49: Hoare triple {1259#(and (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* main_~n~0 4) (- 4))) 0) (<= main_~n~0 1))} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {1263#(exists ((v_main_~n~0_BEFORE_CALL_2 Int)) (and (= 0 (select (select |#memory_int| |check_#in~a.base|) (+ (- 4) |check_#in~a.offset| (* 4 v_main_~n~0_BEFORE_CALL_2)))) (<= |check_#in~n| v_main_~n~0_BEFORE_CALL_2) (<= v_main_~n~0_BEFORE_CALL_2 1)))} is VALID [2022-04-08 10:38:41,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {1263#(exists ((v_main_~n~0_BEFORE_CALL_2 Int)) (and (= 0 (select (select |#memory_int| |check_#in~a.base|) (+ (- 4) |check_#in~a.offset| (* 4 v_main_~n~0_BEFORE_CALL_2)))) (<= |check_#in~n| v_main_~n~0_BEFORE_CALL_2) (<= v_main_~n~0_BEFORE_CALL_2 1)))} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {1267#(and (= check_~sum~0 0) (<= 0 check_~i~0) (exists ((v_main_~n~0_BEFORE_CALL_2 Int)) (and (<= check_~n v_main_~n~0_BEFORE_CALL_2) (<= v_main_~n~0_BEFORE_CALL_2 1) (= (select (select |#memory_int| check_~a.base) (+ (- 4) check_~a.offset (* 4 v_main_~n~0_BEFORE_CALL_2))) 0))))} is VALID [2022-04-08 10:38:41,743 INFO L290 TraceCheckUtils]: 51: Hoare triple {1267#(and (= check_~sum~0 0) (<= 0 check_~i~0) (exists ((v_main_~n~0_BEFORE_CALL_2 Int)) (and (<= check_~n v_main_~n~0_BEFORE_CALL_2) (<= v_main_~n~0_BEFORE_CALL_2 1) (= (select (select |#memory_int| check_~a.base) (+ (- 4) check_~a.offset (* 4 v_main_~n~0_BEFORE_CALL_2))) 0))))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {1271#(and (= |check_#t~mem11| 0) (= check_~sum~0 0))} is VALID [2022-04-08 10:38:41,743 INFO L272 TraceCheckUtils]: 52: Hoare triple {1271#(and (= |check_#t~mem11| 0) (= check_~sum~0 0))} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {1275#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:38:41,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {1275#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1279#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:38:41,744 INFO L290 TraceCheckUtils]: 54: Hoare triple {1279#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1062#false} is VALID [2022-04-08 10:38:41,744 INFO L290 TraceCheckUtils]: 55: Hoare triple {1062#false} assume !false; {1062#false} is VALID [2022-04-08 10:38:41,745 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:38:41,745 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:38:41,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [12310239] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:41,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:38:41,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [16] total 26 [2022-04-08 10:38:41,746 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:41,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1493106671] [2022-04-08 10:38:41,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1493106671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:41,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:41,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 10:38:41,746 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [33047515] [2022-04-08 10:38:41,746 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:41,747 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 56 [2022-04-08 10:38:41,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:41,747 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:38:41,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:41,797 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 10:38:41,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:41,797 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 10:38:41,798 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=594, Unknown=0, NotChecked=0, Total=650 [2022-04-08 10:38:41,798 INFO L87 Difference]: Start difference. First operand 58 states and 66 transitions. Second operand has 12 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:01,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:01,767 INFO L93 Difference]: Finished difference Result 83 states and 97 transitions. [2022-04-08 10:39:01,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:39:01,768 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 56 [2022-04-08 10:39:01,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:01,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:01,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 96 transitions. [2022-04-08 10:39:01,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:01,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 96 transitions. [2022-04-08 10:39:01,772 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 96 transitions. [2022-04-08 10:39:01,848 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:01,850 INFO L225 Difference]: With dead ends: 83 [2022-04-08 10:39:01,850 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 10:39:01,850 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=66, Invalid=690, Unknown=0, NotChecked=0, Total=756 [2022-04-08 10:39:01,851 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 14 mSDsluCounter, 443 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 494 SdHoareTripleChecker+Invalid, 220 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 46 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:01,851 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 494 Invalid, 220 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 174 Invalid, 0 Unknown, 46 Unchecked, 0.2s Time] [2022-04-08 10:39:01,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 10:39:01,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 77. [2022-04-08 10:39:01,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:01,888 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 77 states, 52 states have (on average 1.1923076923076923) internal successors, (62), 54 states have internal predecessors, (62), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-08 10:39:01,888 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 77 states, 52 states have (on average 1.1923076923076923) internal successors, (62), 54 states have internal predecessors, (62), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-08 10:39:01,888 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 77 states, 52 states have (on average 1.1923076923076923) internal successors, (62), 54 states have internal predecessors, (62), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-08 10:39:01,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:01,892 INFO L93 Difference]: Finished difference Result 81 states and 95 transitions. [2022-04-08 10:39:01,892 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 95 transitions. [2022-04-08 10:39:01,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:01,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:01,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 52 states have (on average 1.1923076923076923) internal successors, (62), 54 states have internal predecessors, (62), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) Second operand 81 states. [2022-04-08 10:39:01,898 INFO L87 Difference]: Start difference. First operand has 77 states, 52 states have (on average 1.1923076923076923) internal successors, (62), 54 states have internal predecessors, (62), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) Second operand 81 states. [2022-04-08 10:39:01,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:01,904 INFO L93 Difference]: Finished difference Result 81 states and 95 transitions. [2022-04-08 10:39:01,904 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 95 transitions. [2022-04-08 10:39:01,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:01,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:01,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:01,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:01,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 52 states have (on average 1.1923076923076923) internal successors, (62), 54 states have internal predecessors, (62), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-08 10:39:01,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 90 transitions. [2022-04-08 10:39:01,911 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 90 transitions. Word has length 56 [2022-04-08 10:39:01,911 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:01,911 INFO L478 AbstractCegarLoop]: Abstraction has 77 states and 90 transitions. [2022-04-08 10:39:01,912 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:01,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 90 transitions. [2022-04-08 10:39:01,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:01,997 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 90 transitions. [2022-04-08 10:39:01,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 10:39:01,998 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:01,998 INFO L499 BasicCegarLoop]: trace histogram [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, 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, 1, 1, 1] [2022-04-08 10:39:02,018 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:02,207 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:02,208 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:02,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:02,208 INFO L85 PathProgramCache]: Analyzing trace with hash -35265218, now seen corresponding path program 1 times [2022-04-08 10:39:02,208 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:02,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1323519468] [2022-04-08 10:39:02,209 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:39:02,209 INFO L85 PathProgramCache]: Analyzing trace with hash -35265218, now seen corresponding path program 2 times [2022-04-08 10:39:02,209 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:02,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [184764409] [2022-04-08 10:39:02,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:02,209 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:02,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,307 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:02,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,313 INFO L290 TraceCheckUtils]: 0: Hoare triple {1810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {1771#true} is VALID [2022-04-08 10:39:02,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,313 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1771#true} {1771#true} #160#return; {1771#true} is VALID [2022-04-08 10:39:02,313 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:39:02,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,319 INFO L290 TraceCheckUtils]: 0: Hoare triple {1771#true} ~cond := #in~cond; {1771#true} is VALID [2022-04-08 10:39:02,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume !(0 == ~cond); {1771#true} is VALID [2022-04-08 10:39:02,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1771#true} {1771#true} #142#return; {1771#true} is VALID [2022-04-08 10:39:02,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:39:02,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {1771#true} ~x := #in~x; {1771#true} is VALID [2022-04-08 10:39:02,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {1771#true} is VALID [2022-04-08 10:39:02,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {1771#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {1771#true} is VALID [2022-04-08 10:39:02,328 INFO L290 TraceCheckUtils]: 3: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,328 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1771#true} {1771#true} #144#return; {1771#true} is VALID [2022-04-08 10:39:02,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:39:02,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {1771#true} ~cond := #in~cond; {1771#true} is VALID [2022-04-08 10:39:02,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume !(0 == ~cond); {1771#true} is VALID [2022-04-08 10:39:02,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1771#true} {1771#true} #146#return; {1771#true} is VALID [2022-04-08 10:39:02,345 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:39:02,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,355 INFO L290 TraceCheckUtils]: 0: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1771#true} is VALID [2022-04-08 10:39:02,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,355 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1771#true} {1771#true} #148#return; {1771#true} is VALID [2022-04-08 10:39:02,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:39:02,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,360 INFO L290 TraceCheckUtils]: 0: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1771#true} is VALID [2022-04-08 10:39:02,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,361 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1771#true} {1771#true} #150#return; {1771#true} is VALID [2022-04-08 10:39:02,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-08 10:39:02,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {1771#true} is VALID [2022-04-08 10:39:02,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {1812#(<= (+ upsweep_~left~0 2) upsweep_~n)} is VALID [2022-04-08 10:39:02,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {1812#(<= (+ upsweep_~left~0 2) upsweep_~n)} assume !(~left~0 < ~n); {1772#false} is VALID [2022-04-08 10:39:02,380 INFO L290 TraceCheckUtils]: 3: Hoare triple {1772#false} ~space~0 := 2 * ~space~0; {1772#false} is VALID [2022-04-08 10:39:02,380 INFO L290 TraceCheckUtils]: 4: Hoare triple {1772#false} assume !(~space~0 < ~n); {1772#false} is VALID [2022-04-08 10:39:02,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {1772#false} #res := ~space~0; {1772#false} is VALID [2022-04-08 10:39:02,380 INFO L290 TraceCheckUtils]: 6: Hoare triple {1772#false} assume true; {1772#false} is VALID [2022-04-08 10:39:02,380 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1772#false} {1797#(<= 1 main_~n~0)} #152#return; {1772#false} is VALID [2022-04-08 10:39:02,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 10:39:02,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,393 INFO L290 TraceCheckUtils]: 0: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {1771#true} is VALID [2022-04-08 10:39:02,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} assume !(~space > 0); {1771#true} is VALID [2022-04-08 10:39:02,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1771#true} {1772#false} #154#return; {1772#false} is VALID [2022-04-08 10:39:02,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {1771#true} call ULTIMATE.init(); {1810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:02,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {1810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {1771#true} is VALID [2022-04-08 10:39:02,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1771#true} {1771#true} #160#return; {1771#true} is VALID [2022-04-08 10:39:02,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {1771#true} call #t~ret20 := main(); {1771#true} is VALID [2022-04-08 10:39:02,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {1771#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {1771#true} is VALID [2022-04-08 10:39:02,394 INFO L272 TraceCheckUtils]: 6: Hoare triple {1771#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1771#true} is VALID [2022-04-08 10:39:02,394 INFO L290 TraceCheckUtils]: 7: Hoare triple {1771#true} ~cond := #in~cond; {1771#true} is VALID [2022-04-08 10:39:02,394 INFO L290 TraceCheckUtils]: 8: Hoare triple {1771#true} assume !(0 == ~cond); {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 9: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1771#true} {1771#true} #142#return; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L272 TraceCheckUtils]: 11: Hoare triple {1771#true} call #t~ret14 := is_pow2(~n~0); {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 12: Hoare triple {1771#true} ~x := #in~x; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {1771#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {1771#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1771#true} {1771#true} #144#return; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 17: Hoare triple {1771#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L272 TraceCheckUtils]: 18: Hoare triple {1771#true} call assume_abort_if_not(#t~ret14); {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 19: Hoare triple {1771#true} ~cond := #in~cond; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {1771#true} assume !(0 == ~cond); {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 21: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1771#true} {1771#true} #146#return; {1771#true} is VALID [2022-04-08 10:39:02,395 INFO L290 TraceCheckUtils]: 23: Hoare triple {1771#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1771#true} is VALID [2022-04-08 10:39:02,396 INFO L272 TraceCheckUtils]: 24: Hoare triple {1771#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1811#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:02,396 INFO L290 TraceCheckUtils]: 25: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1771#true} is VALID [2022-04-08 10:39:02,396 INFO L290 TraceCheckUtils]: 26: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,397 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1771#true} {1771#true} #148#return; {1771#true} is VALID [2022-04-08 10:39:02,397 INFO L290 TraceCheckUtils]: 28: Hoare triple {1771#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1771#true} is VALID [2022-04-08 10:39:02,397 INFO L272 TraceCheckUtils]: 29: Hoare triple {1771#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {1811#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:02,397 INFO L290 TraceCheckUtils]: 30: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1771#true} is VALID [2022-04-08 10:39:02,398 INFO L290 TraceCheckUtils]: 31: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,398 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1771#true} {1771#true} #150#return; {1771#true} is VALID [2022-04-08 10:39:02,403 INFO L290 TraceCheckUtils]: 33: Hoare triple {1771#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {1795#(= main_~i~1 0)} is VALID [2022-04-08 10:39:02,404 INFO L290 TraceCheckUtils]: 34: Hoare triple {1795#(= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {1796#(and (<= (+ main_~i~1 1) main_~n~0) (= main_~i~1 0))} is VALID [2022-04-08 10:39:02,404 INFO L290 TraceCheckUtils]: 35: Hoare triple {1796#(and (<= (+ main_~i~1 1) main_~n~0) (= main_~i~1 0))} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {1797#(<= 1 main_~n~0)} is VALID [2022-04-08 10:39:02,404 INFO L290 TraceCheckUtils]: 36: Hoare triple {1797#(<= 1 main_~n~0)} assume !(~i~1 < ~n~0); {1797#(<= 1 main_~n~0)} is VALID [2022-04-08 10:39:02,405 INFO L272 TraceCheckUtils]: 37: Hoare triple {1797#(<= 1 main_~n~0)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {1811#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:02,405 INFO L290 TraceCheckUtils]: 38: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {1771#true} is VALID [2022-04-08 10:39:02,406 INFO L290 TraceCheckUtils]: 39: Hoare triple {1771#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {1812#(<= (+ upsweep_~left~0 2) upsweep_~n)} is VALID [2022-04-08 10:39:02,406 INFO L290 TraceCheckUtils]: 40: Hoare triple {1812#(<= (+ upsweep_~left~0 2) upsweep_~n)} assume !(~left~0 < ~n); {1772#false} is VALID [2022-04-08 10:39:02,406 INFO L290 TraceCheckUtils]: 41: Hoare triple {1772#false} ~space~0 := 2 * ~space~0; {1772#false} is VALID [2022-04-08 10:39:02,406 INFO L290 TraceCheckUtils]: 42: Hoare triple {1772#false} assume !(~space~0 < ~n); {1772#false} is VALID [2022-04-08 10:39:02,406 INFO L290 TraceCheckUtils]: 43: Hoare triple {1772#false} #res := ~space~0; {1772#false} is VALID [2022-04-08 10:39:02,406 INFO L290 TraceCheckUtils]: 44: Hoare triple {1772#false} assume true; {1772#false} is VALID [2022-04-08 10:39:02,406 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1772#false} {1797#(<= 1 main_~n~0)} #152#return; {1772#false} is VALID [2022-04-08 10:39:02,406 INFO L290 TraceCheckUtils]: 46: Hoare triple {1772#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L272 TraceCheckUtils]: 47: Hoare triple {1772#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {1811#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 48: Hoare triple {1811#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {1771#true} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 49: Hoare triple {1771#true} assume !(~space > 0); {1771#true} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 50: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:02,407 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {1771#true} {1772#false} #154#return; {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L272 TraceCheckUtils]: 52: Hoare triple {1772#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 53: Hoare triple {1772#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 54: Hoare triple {1772#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L272 TraceCheckUtils]: 55: Hoare triple {1772#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 56: Hoare triple {1772#false} ~cond := #in~cond; {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 57: Hoare triple {1772#false} assume 0 == ~cond; {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L290 TraceCheckUtils]: 58: Hoare triple {1772#false} assume !false; {1772#false} is VALID [2022-04-08 10:39:02,407 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 10:39:02,408 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:02,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [184764409] [2022-04-08 10:39:02,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [184764409] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:02,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1561698112] [2022-04-08 10:39:02,408 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:39:02,408 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:02,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:02,409 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:02,410 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 10:39:02,468 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 10:39:02,469 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:02,470 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-08 10:39:02,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:02,736 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 16 treesize of output 12 [2022-04-08 10:39:03,906 INFO L356 Elim1Store]: treesize reduction 16, result has 15.8 percent of original size [2022-04-08 10:39:03,907 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 26 treesize of output 10 [2022-04-08 10:39:04,052 INFO L272 TraceCheckUtils]: 0: Hoare triple {1771#true} call ULTIMATE.init(); {1771#true} is VALID [2022-04-08 10:39:04,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {1771#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {1771#true} is VALID [2022-04-08 10:39:04,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:04,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1771#true} {1771#true} #160#return; {1771#true} is VALID [2022-04-08 10:39:04,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {1771#true} call #t~ret20 := main(); {1771#true} is VALID [2022-04-08 10:39:04,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {1771#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L272 TraceCheckUtils]: 6: Hoare triple {1771#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {1771#true} ~cond := #in~cond; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 8: Hoare triple {1771#true} assume !(0 == ~cond); {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 9: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1771#true} {1771#true} #142#return; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L272 TraceCheckUtils]: 11: Hoare triple {1771#true} call #t~ret14 := is_pow2(~n~0); {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 12: Hoare triple {1771#true} ~x := #in~x; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 13: Hoare triple {1771#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {1771#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1771#true} {1771#true} #144#return; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {1771#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L272 TraceCheckUtils]: 18: Hoare triple {1771#true} call assume_abort_if_not(#t~ret14); {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {1771#true} ~cond := #in~cond; {1771#true} is VALID [2022-04-08 10:39:04,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {1771#true} assume !(0 == ~cond); {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 21: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1771#true} {1771#true} #146#return; {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {1771#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L272 TraceCheckUtils]: 24: Hoare triple {1771#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {1771#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 26: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1771#true} {1771#true} #148#return; {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 28: Hoare triple {1771#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L272 TraceCheckUtils]: 29: Hoare triple {1771#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {1771#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {1771#true} assume true; {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1771#true} {1771#true} #150#return; {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 33: Hoare triple {1771#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {1771#true} is VALID [2022-04-08 10:39:04,054 INFO L290 TraceCheckUtils]: 34: Hoare triple {1771#true} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {1771#true} is VALID [2022-04-08 10:39:04,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {1771#true} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {1771#true} is VALID [2022-04-08 10:39:04,055 INFO L290 TraceCheckUtils]: 36: Hoare triple {1771#true} assume !(~i~1 < ~n~0); {1771#true} is VALID [2022-04-08 10:39:04,055 INFO L272 TraceCheckUtils]: 37: Hoare triple {1771#true} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {1771#true} is VALID [2022-04-08 10:39:04,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {1771#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {1930#(<= |upsweep_#in~n| upsweep_~n)} is VALID [2022-04-08 10:39:04,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {1930#(<= |upsweep_#in~n| upsweep_~n)} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {1930#(<= |upsweep_#in~n| upsweep_~n)} is VALID [2022-04-08 10:39:04,056 INFO L290 TraceCheckUtils]: 40: Hoare triple {1930#(<= |upsweep_#in~n| upsweep_~n)} assume !(~left~0 < ~n); {1930#(<= |upsweep_#in~n| upsweep_~n)} is VALID [2022-04-08 10:39:04,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {1930#(<= |upsweep_#in~n| upsweep_~n)} ~space~0 := 2 * ~space~0; {1930#(<= |upsweep_#in~n| upsweep_~n)} is VALID [2022-04-08 10:39:04,057 INFO L290 TraceCheckUtils]: 42: Hoare triple {1930#(<= |upsweep_#in~n| upsweep_~n)} assume !(~space~0 < ~n); {1943#(<= |upsweep_#in~n| upsweep_~space~0)} is VALID [2022-04-08 10:39:04,057 INFO L290 TraceCheckUtils]: 43: Hoare triple {1943#(<= |upsweep_#in~n| upsweep_~space~0)} #res := ~space~0; {1947#(<= |upsweep_#in~n| |upsweep_#res|)} is VALID [2022-04-08 10:39:04,057 INFO L290 TraceCheckUtils]: 44: Hoare triple {1947#(<= |upsweep_#in~n| |upsweep_#res|)} assume true; {1947#(<= |upsweep_#in~n| |upsweep_#res|)} is VALID [2022-04-08 10:39:04,058 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1947#(<= |upsweep_#in~n| |upsweep_#res|)} {1771#true} #152#return; {1954#(<= main_~n~0 |main_#t~ret19|)} is VALID [2022-04-08 10:39:04,058 INFO L290 TraceCheckUtils]: 46: Hoare triple {1954#(<= main_~n~0 |main_#t~ret19|)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {1958#(<= main_~n~0 main_~space~1)} is VALID [2022-04-08 10:39:04,058 INFO L272 TraceCheckUtils]: 47: Hoare triple {1958#(<= main_~n~0 main_~space~1)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {1771#true} is VALID [2022-04-08 10:39:04,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {1771#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {1965#(and (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0) (or (and (or (= (mod |downsweep_#in~space| 2) 0) (not (< |downsweep_#in~space| 0))) (<= (div |downsweep_#in~space| 2) downsweep_~space)) (<= (+ (div |downsweep_#in~space| 2) 1) downsweep_~space)))} is VALID [2022-04-08 10:39:04,060 INFO L290 TraceCheckUtils]: 49: Hoare triple {1965#(and (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0) (or (and (or (= (mod |downsweep_#in~space| 2) 0) (not (< |downsweep_#in~space| 0))) (<= (div |downsweep_#in~space| 2) downsweep_~space)) (<= (+ (div |downsweep_#in~space| 2) 1) downsweep_~space)))} assume !(~space > 0); {1969#(and (<= (div |downsweep_#in~space| 2) 0) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0))} is VALID [2022-04-08 10:39:04,061 INFO L290 TraceCheckUtils]: 50: Hoare triple {1969#(and (<= (div |downsweep_#in~space| 2) 0) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0))} assume true; {1969#(and (<= (div |downsweep_#in~space| 2) 0) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0))} is VALID [2022-04-08 10:39:04,062 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {1969#(and (<= (div |downsweep_#in~space| 2) 0) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* |downsweep_#in~n| 4) (- 4) |downsweep_#in~a.offset|)) 0))} {1958#(<= main_~n~0 main_~space~1)} #154#return; {1976#(and (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* main_~n~0 4) (- 4))) 0) (< (div (+ (* (- 1) main_~n~0) 1) (- 2)) 1))} is VALID [2022-04-08 10:39:04,067 INFO L272 TraceCheckUtils]: 52: Hoare triple {1976#(and (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* main_~n~0 4) (- 4))) 0) (< (div (+ (* (- 1) main_~n~0) 1) (- 2)) 1))} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {1980#(exists ((aux_mod_v_main_~n~0_BEFORE_CALL_4_53 Int) (aux_div_v_main_~n~0_BEFORE_CALL_4_53 Int)) (and (<= (+ aux_mod_v_main_~n~0_BEFORE_CALL_4_53 |check_#in~n|) (+ (* 2 aux_div_v_main_~n~0_BEFORE_CALL_4_53) 1)) (= (select (select |#memory_int| |check_#in~a.base|) (+ (* 8 aux_div_v_main_~n~0_BEFORE_CALL_4_53) |check_#in~a.offset| (* aux_mod_v_main_~n~0_BEFORE_CALL_4_53 (- 4)))) 0) (< aux_div_v_main_~n~0_BEFORE_CALL_4_53 1) (<= 0 aux_mod_v_main_~n~0_BEFORE_CALL_4_53) (< aux_mod_v_main_~n~0_BEFORE_CALL_4_53 2)))} is VALID [2022-04-08 10:39:04,068 INFO L290 TraceCheckUtils]: 53: Hoare triple {1980#(exists ((aux_mod_v_main_~n~0_BEFORE_CALL_4_53 Int) (aux_div_v_main_~n~0_BEFORE_CALL_4_53 Int)) (and (<= (+ aux_mod_v_main_~n~0_BEFORE_CALL_4_53 |check_#in~n|) (+ (* 2 aux_div_v_main_~n~0_BEFORE_CALL_4_53) 1)) (= (select (select |#memory_int| |check_#in~a.base|) (+ (* 8 aux_div_v_main_~n~0_BEFORE_CALL_4_53) |check_#in~a.offset| (* aux_mod_v_main_~n~0_BEFORE_CALL_4_53 (- 4)))) 0) (< aux_div_v_main_~n~0_BEFORE_CALL_4_53 1) (<= 0 aux_mod_v_main_~n~0_BEFORE_CALL_4_53) (< aux_mod_v_main_~n~0_BEFORE_CALL_4_53 2)))} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {1984#(and (exists ((aux_mod_v_main_~n~0_BEFORE_CALL_4_53 Int) (aux_div_v_main_~n~0_BEFORE_CALL_4_53 Int)) (and (= (select (select |#memory_int| check_~a.base) (+ (* 8 aux_div_v_main_~n~0_BEFORE_CALL_4_53) check_~a.offset (* aux_mod_v_main_~n~0_BEFORE_CALL_4_53 (- 4)))) 0) (<= (+ aux_mod_v_main_~n~0_BEFORE_CALL_4_53 check_~n) (+ (* 2 aux_div_v_main_~n~0_BEFORE_CALL_4_53) 1)) (< aux_div_v_main_~n~0_BEFORE_CALL_4_53 1) (<= 0 aux_mod_v_main_~n~0_BEFORE_CALL_4_53) (< aux_mod_v_main_~n~0_BEFORE_CALL_4_53 2))) (= check_~sum~0 0) (<= 0 check_~i~0))} is VALID [2022-04-08 10:39:04,069 INFO L290 TraceCheckUtils]: 54: Hoare triple {1984#(and (exists ((aux_mod_v_main_~n~0_BEFORE_CALL_4_53 Int) (aux_div_v_main_~n~0_BEFORE_CALL_4_53 Int)) (and (= (select (select |#memory_int| check_~a.base) (+ (* 8 aux_div_v_main_~n~0_BEFORE_CALL_4_53) check_~a.offset (* aux_mod_v_main_~n~0_BEFORE_CALL_4_53 (- 4)))) 0) (<= (+ aux_mod_v_main_~n~0_BEFORE_CALL_4_53 check_~n) (+ (* 2 aux_div_v_main_~n~0_BEFORE_CALL_4_53) 1)) (< aux_div_v_main_~n~0_BEFORE_CALL_4_53 1) (<= 0 aux_mod_v_main_~n~0_BEFORE_CALL_4_53) (< aux_mod_v_main_~n~0_BEFORE_CALL_4_53 2))) (= check_~sum~0 0) (<= 0 check_~i~0))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {1988#(and (= |check_#t~mem11| 0) (= check_~sum~0 0))} is VALID [2022-04-08 10:39:04,070 INFO L272 TraceCheckUtils]: 55: Hoare triple {1988#(and (= |check_#t~mem11| 0) (= check_~sum~0 0))} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {1992#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:39:04,070 INFO L290 TraceCheckUtils]: 56: Hoare triple {1992#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1996#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:39:04,070 INFO L290 TraceCheckUtils]: 57: Hoare triple {1996#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1772#false} is VALID [2022-04-08 10:39:04,070 INFO L290 TraceCheckUtils]: 58: Hoare triple {1772#false} assume !false; {1772#false} is VALID [2022-04-08 10:39:04,071 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-08 10:39:04,071 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:39:04,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1561698112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:04,071 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:39:04,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [8] total 21 [2022-04-08 10:39:04,071 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:04,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1323519468] [2022-04-08 10:39:04,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1323519468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:04,072 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:04,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 10:39:04,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [381302311] [2022-04-08 10:39:04,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:04,072 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 59 [2022-04-08 10:39:04,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:04,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:04,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:04,122 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 10:39:04,122 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:04,123 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 10:39:04,123 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=379, Unknown=0, NotChecked=0, Total=420 [2022-04-08 10:39:04,123 INFO L87 Difference]: Start difference. First operand 77 states and 90 transitions. Second operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:26,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:26,559 INFO L93 Difference]: Finished difference Result 101 states and 117 transitions. [2022-04-08 10:39:26,559 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 10:39:26,561 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 59 [2022-04-08 10:39:26,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:26,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:26,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 83 transitions. [2022-04-08 10:39:26,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:26,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 83 transitions. [2022-04-08 10:39:26,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 83 transitions. [2022-04-08 10:39:26,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:26,645 INFO L225 Difference]: With dead ends: 101 [2022-04-08 10:39:26,646 INFO L226 Difference]: Without dead ends: 99 [2022-04-08 10:39:26,646 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=63, Invalid=587, Unknown=0, NotChecked=0, Total=650 [2022-04-08 10:39:26,646 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 15 mSDsluCounter, 525 mSDsCounter, 0 mSdLazyCounter, 258 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 573 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 258 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 50 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:26,647 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 573 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 258 Invalid, 0 Unknown, 50 Unchecked, 0.2s Time] [2022-04-08 10:39:26,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-08 10:39:26,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 80. [2022-04-08 10:39:26,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:26,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (16), 11 states have call predecessors, (16), 11 states have call successors, (16) [2022-04-08 10:39:26,712 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (16), 11 states have call predecessors, (16), 11 states have call successors, (16) [2022-04-08 10:39:26,713 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (16), 11 states have call predecessors, (16), 11 states have call successors, (16) [2022-04-08 10:39:26,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:26,715 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-08 10:39:26,715 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 10:39:26,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:26,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:26,716 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (16), 11 states have call predecessors, (16), 11 states have call successors, (16) Second operand 99 states. [2022-04-08 10:39:26,716 INFO L87 Difference]: Start difference. First operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (16), 11 states have call predecessors, (16), 11 states have call successors, (16) Second operand 99 states. [2022-04-08 10:39:26,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:26,728 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-08 10:39:26,728 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 10:39:26,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:26,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:26,729 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:26,729 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:26,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (16), 11 states have call predecessors, (16), 11 states have call successors, (16) [2022-04-08 10:39:26,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 95 transitions. [2022-04-08 10:39:26,731 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 95 transitions. Word has length 59 [2022-04-08 10:39:26,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:26,732 INFO L478 AbstractCegarLoop]: Abstraction has 80 states and 95 transitions. [2022-04-08 10:39:26,733 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 4 states have call successors, (11), 3 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:26,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 80 states and 95 transitions. [2022-04-08 10:39:26,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:26,841 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 95 transitions. [2022-04-08 10:39:26,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 10:39:26,842 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:26,842 INFO L499 BasicCegarLoop]: trace histogram [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, 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, 1, 1, 1, 1] [2022-04-08 10:39:26,863 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:27,042 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-08 10:39:27,043 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:27,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:27,043 INFO L85 PathProgramCache]: Analyzing trace with hash 281114777, now seen corresponding path program 1 times [2022-04-08 10:39:27,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:27,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [94432904] [2022-04-08 10:39:27,043 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:39:27,043 INFO L85 PathProgramCache]: Analyzing trace with hash 281114777, now seen corresponding path program 2 times [2022-04-08 10:39:27,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:27,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1064564519] [2022-04-08 10:39:27,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:27,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:27,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,124 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:27,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,129 INFO L290 TraceCheckUtils]: 0: Hoare triple {2612#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {2572#true} is VALID [2022-04-08 10:39:27,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,129 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2572#true} {2572#true} #160#return; {2572#true} is VALID [2022-04-08 10:39:27,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:39:27,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:27,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:27,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #142#return; {2572#true} is VALID [2022-04-08 10:39:27,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:39:27,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,136 INFO L290 TraceCheckUtils]: 0: Hoare triple {2572#true} ~x := #in~x; {2572#true} is VALID [2022-04-08 10:39:27,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {2572#true} is VALID [2022-04-08 10:39:27,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {2572#true} is VALID [2022-04-08 10:39:27,136 INFO L290 TraceCheckUtils]: 3: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,136 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2572#true} {2572#true} #144#return; {2572#true} is VALID [2022-04-08 10:39:27,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:39:27,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,138 INFO L290 TraceCheckUtils]: 0: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:27,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:27,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #146#return; {2572#true} is VALID [2022-04-08 10:39:27,148 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:39:27,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:27,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,152 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2572#true} {2572#true} #148#return; {2572#true} is VALID [2022-04-08 10:39:27,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:39:27,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:27,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,158 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2572#true} {2572#true} #150#return; {2572#true} is VALID [2022-04-08 10:39:27,158 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-08 10:39:27,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,164 INFO L290 TraceCheckUtils]: 0: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {2572#true} is VALID [2022-04-08 10:39:27,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} assume !(~space~0 < ~n); {2572#true} is VALID [2022-04-08 10:39:27,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} #res := ~space~0; {2572#true} is VALID [2022-04-08 10:39:27,165 INFO L290 TraceCheckUtils]: 3: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,165 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2572#true} {2598#(<= main_~n~0 1)} #152#return; {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:27,166 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 10:39:27,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,252 INFO L290 TraceCheckUtils]: 0: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2614#(= downsweep_~n |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {2614#(= downsweep_~n |downsweep_#in~n|)} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {2615#(and (= downsweep_~n |downsweep_#in~n|) (<= 1 downsweep_~right~1))} is VALID [2022-04-08 10:39:27,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {2615#(and (= downsweep_~n |downsweep_#in~n|) (<= 1 downsweep_~right~1))} assume !!(~right~1 < ~n);~left~1 := ~right~1 - ~space;call #t~mem7 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~a.base, ~a.offset + 4 * ~left~1, 4);call #t~mem9 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);call write~int(#t~mem8 + #t~mem9, ~a.base, ~a.offset + 4 * ~right~1, 4);havoc #t~mem8;havoc #t~mem9;call write~int(~temp~0, ~a.base, ~a.offset + 4 * ~left~1, 4);~right~1 := ~right~1 + 2 * ~space; {2616#(and (= downsweep_~n |downsweep_#in~n|) (<= 2 downsweep_~n))} is VALID [2022-04-08 10:39:27,254 INFO L290 TraceCheckUtils]: 3: Hoare triple {2616#(and (= downsweep_~n |downsweep_#in~n|) (<= 2 downsweep_~n))} assume !(~right~1 < ~n); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,255 INFO L290 TraceCheckUtils]: 4: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume !(~space > 0); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,256 INFO L290 TraceCheckUtils]: 6: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume true; {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,257 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2617#(<= 2 |downsweep_#in~n|)} {2598#(<= main_~n~0 1)} #154#return; {2573#false} is VALID [2022-04-08 10:39:27,257 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2612#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:27,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {2612#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {2572#true} is VALID [2022-04-08 10:39:27,257 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #160#return; {2572#true} is VALID [2022-04-08 10:39:27,257 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret20 := main(); {2572#true} is VALID [2022-04-08 10:39:27,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {2572#true} is VALID [2022-04-08 10:39:27,258 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {2572#true} is VALID [2022-04-08 10:39:27,262 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:27,262 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #142#return; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L272 TraceCheckUtils]: 11: Hoare triple {2572#true} call #t~ret14 := is_pow2(~n~0); {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 12: Hoare triple {2572#true} ~x := #in~x; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {2572#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2572#true} {2572#true} #144#return; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 17: Hoare triple {2572#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L272 TraceCheckUtils]: 18: Hoare triple {2572#true} call assume_abort_if_not(#t~ret14); {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 21: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2572#true} {2572#true} #146#return; {2572#true} is VALID [2022-04-08 10:39:27,263 INFO L290 TraceCheckUtils]: 23: Hoare triple {2572#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,265 INFO L272 TraceCheckUtils]: 24: Hoare triple {2572#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {2613#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:27,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:27,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,265 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2572#true} {2572#true} #148#return; {2572#true} is VALID [2022-04-08 10:39:27,265 INFO L290 TraceCheckUtils]: 28: Hoare triple {2572#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,266 INFO L272 TraceCheckUtils]: 29: Hoare triple {2572#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {2613#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:27,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:27,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,266 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2572#true} {2572#true} #150#return; {2572#true} is VALID [2022-04-08 10:39:27,266 INFO L290 TraceCheckUtils]: 33: Hoare triple {2572#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {2596#(= main_~i~1 0)} is VALID [2022-04-08 10:39:27,267 INFO L290 TraceCheckUtils]: 34: Hoare triple {2596#(= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {2596#(= main_~i~1 0)} is VALID [2022-04-08 10:39:27,267 INFO L290 TraceCheckUtils]: 35: Hoare triple {2596#(= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {2597#(<= main_~i~1 1)} is VALID [2022-04-08 10:39:27,268 INFO L290 TraceCheckUtils]: 36: Hoare triple {2597#(<= main_~i~1 1)} assume !(~i~1 < ~n~0); {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:27,268 INFO L272 TraceCheckUtils]: 37: Hoare triple {2598#(<= main_~n~0 1)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {2613#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:27,268 INFO L290 TraceCheckUtils]: 38: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {2572#true} is VALID [2022-04-08 10:39:27,268 INFO L290 TraceCheckUtils]: 39: Hoare triple {2572#true} assume !(~space~0 < ~n); {2572#true} is VALID [2022-04-08 10:39:27,268 INFO L290 TraceCheckUtils]: 40: Hoare triple {2572#true} #res := ~space~0; {2572#true} is VALID [2022-04-08 10:39:27,269 INFO L290 TraceCheckUtils]: 41: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,269 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2572#true} {2598#(<= main_~n~0 1)} #152#return; {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:27,270 INFO L290 TraceCheckUtils]: 43: Hoare triple {2598#(<= main_~n~0 1)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:27,270 INFO L272 TraceCheckUtils]: 44: Hoare triple {2598#(<= main_~n~0 1)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {2613#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:27,271 INFO L290 TraceCheckUtils]: 45: Hoare triple {2613#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2614#(= downsweep_~n |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,272 INFO L290 TraceCheckUtils]: 46: Hoare triple {2614#(= downsweep_~n |downsweep_#in~n|)} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {2615#(and (= downsweep_~n |downsweep_#in~n|) (<= 1 downsweep_~right~1))} is VALID [2022-04-08 10:39:27,272 INFO L290 TraceCheckUtils]: 47: Hoare triple {2615#(and (= downsweep_~n |downsweep_#in~n|) (<= 1 downsweep_~right~1))} assume !!(~right~1 < ~n);~left~1 := ~right~1 - ~space;call #t~mem7 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~a.base, ~a.offset + 4 * ~left~1, 4);call #t~mem9 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);call write~int(#t~mem8 + #t~mem9, ~a.base, ~a.offset + 4 * ~right~1, 4);havoc #t~mem8;havoc #t~mem9;call write~int(~temp~0, ~a.base, ~a.offset + 4 * ~left~1, 4);~right~1 := ~right~1 + 2 * ~space; {2616#(and (= downsweep_~n |downsweep_#in~n|) (<= 2 downsweep_~n))} is VALID [2022-04-08 10:39:27,273 INFO L290 TraceCheckUtils]: 48: Hoare triple {2616#(and (= downsweep_~n |downsweep_#in~n|) (<= 2 downsweep_~n))} assume !(~right~1 < ~n); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,273 INFO L290 TraceCheckUtils]: 49: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,273 INFO L290 TraceCheckUtils]: 50: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume !(~space > 0); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,274 INFO L290 TraceCheckUtils]: 51: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume true; {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,275 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2617#(<= 2 |downsweep_#in~n|)} {2598#(<= main_~n~0 1)} #154#return; {2573#false} is VALID [2022-04-08 10:39:27,275 INFO L272 TraceCheckUtils]: 53: Hoare triple {2573#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {2573#false} is VALID [2022-04-08 10:39:27,275 INFO L290 TraceCheckUtils]: 54: Hoare triple {2573#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {2573#false} is VALID [2022-04-08 10:39:27,275 INFO L290 TraceCheckUtils]: 55: Hoare triple {2573#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {2573#false} is VALID [2022-04-08 10:39:27,275 INFO L272 TraceCheckUtils]: 56: Hoare triple {2573#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {2573#false} is VALID [2022-04-08 10:39:27,275 INFO L290 TraceCheckUtils]: 57: Hoare triple {2573#false} ~cond := #in~cond; {2573#false} is VALID [2022-04-08 10:39:27,275 INFO L290 TraceCheckUtils]: 58: Hoare triple {2573#false} assume 0 == ~cond; {2573#false} is VALID [2022-04-08 10:39:27,275 INFO L290 TraceCheckUtils]: 59: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-08 10:39:27,276 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 10:39:27,276 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:27,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1064564519] [2022-04-08 10:39:27,276 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1064564519] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:27,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [120941686] [2022-04-08 10:39:27,276 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:39:27,276 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:27,276 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:27,277 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:27,278 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 10:39:27,349 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:39:27,350 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:27,351 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 10:39:27,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:27,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:27,723 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-08 10:39:27,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {2572#true} is VALID [2022-04-08 10:39:27,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #160#return; {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret20 := main(); {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #142#return; {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L272 TraceCheckUtils]: 11: Hoare triple {2572#true} call #t~ret14 := is_pow2(~n~0); {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L290 TraceCheckUtils]: 12: Hoare triple {2572#true} ~x := #in~x; {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {2572#true} is VALID [2022-04-08 10:39:27,724 INFO L290 TraceCheckUtils]: 14: Hoare triple {2572#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L290 TraceCheckUtils]: 15: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2572#true} {2572#true} #144#return; {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L290 TraceCheckUtils]: 17: Hoare triple {2572#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L272 TraceCheckUtils]: 18: Hoare triple {2572#true} call assume_abort_if_not(#t~ret14); {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L290 TraceCheckUtils]: 21: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2572#true} {2572#true} #146#return; {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {2572#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L272 TraceCheckUtils]: 24: Hoare triple {2572#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2572#true} {2572#true} #148#return; {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {2572#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L272 TraceCheckUtils]: 29: Hoare triple {2572#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {2572#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2572#true} {2572#true} #150#return; {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 33: Hoare triple {2572#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 35: Hoare triple {2572#true} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {2572#true} is VALID [2022-04-08 10:39:27,726 INFO L290 TraceCheckUtils]: 36: Hoare triple {2572#true} assume !(~i~1 < ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,727 INFO L272 TraceCheckUtils]: 37: Hoare triple {2572#true} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {2572#true} is VALID [2022-04-08 10:39:27,727 INFO L290 TraceCheckUtils]: 38: Hoare triple {2572#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {2735#(and (<= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:39:27,728 INFO L290 TraceCheckUtils]: 39: Hoare triple {2735#(and (<= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} assume !(~space~0 < ~n); {2739#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:27,728 INFO L290 TraceCheckUtils]: 40: Hoare triple {2739#(<= |upsweep_#in~n| 1)} #res := ~space~0; {2739#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:27,728 INFO L290 TraceCheckUtils]: 41: Hoare triple {2739#(<= |upsweep_#in~n| 1)} assume true; {2739#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:27,729 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2739#(<= |upsweep_#in~n| 1)} {2572#true} #152#return; {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:27,730 INFO L290 TraceCheckUtils]: 43: Hoare triple {2598#(<= main_~n~0 1)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:27,730 INFO L272 TraceCheckUtils]: 44: Hoare triple {2598#(<= main_~n~0 1)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {2572#true} is VALID [2022-04-08 10:39:27,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {2572#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2758#(<= downsweep_~n |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,731 INFO L290 TraceCheckUtils]: 46: Hoare triple {2758#(<= downsweep_~n |downsweep_#in~n|)} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {2762#(and (<= downsweep_~n |downsweep_#in~n|) (< 0 (div (+ downsweep_~right~1 1) 2)))} is VALID [2022-04-08 10:39:27,732 INFO L290 TraceCheckUtils]: 47: Hoare triple {2762#(and (<= downsweep_~n |downsweep_#in~n|) (< 0 (div (+ downsweep_~right~1 1) 2)))} assume !!(~right~1 < ~n);~left~1 := ~right~1 - ~space;call #t~mem7 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~a.base, ~a.offset + 4 * ~left~1, 4);call #t~mem9 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);call write~int(#t~mem8 + #t~mem9, ~a.base, ~a.offset + 4 * ~right~1, 4);havoc #t~mem8;havoc #t~mem9;call write~int(~temp~0, ~a.base, ~a.offset + 4 * ~left~1, 4);~right~1 := ~right~1 + 2 * ~space; {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,732 INFO L290 TraceCheckUtils]: 48: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume !(~right~1 < ~n); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,733 INFO L290 TraceCheckUtils]: 49: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,733 INFO L290 TraceCheckUtils]: 50: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume !(~space > 0); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,733 INFO L290 TraceCheckUtils]: 51: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume true; {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:27,734 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2617#(<= 2 |downsweep_#in~n|)} {2598#(<= main_~n~0 1)} #154#return; {2573#false} is VALID [2022-04-08 10:39:27,734 INFO L272 TraceCheckUtils]: 53: Hoare triple {2573#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {2573#false} is VALID [2022-04-08 10:39:27,734 INFO L290 TraceCheckUtils]: 54: Hoare triple {2573#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {2573#false} is VALID [2022-04-08 10:39:27,734 INFO L290 TraceCheckUtils]: 55: Hoare triple {2573#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {2573#false} is VALID [2022-04-08 10:39:27,734 INFO L272 TraceCheckUtils]: 56: Hoare triple {2573#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {2573#false} is VALID [2022-04-08 10:39:27,734 INFO L290 TraceCheckUtils]: 57: Hoare triple {2573#false} ~cond := #in~cond; {2573#false} is VALID [2022-04-08 10:39:27,734 INFO L290 TraceCheckUtils]: 58: Hoare triple {2573#false} assume 0 == ~cond; {2573#false} is VALID [2022-04-08 10:39:27,734 INFO L290 TraceCheckUtils]: 59: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-08 10:39:27,735 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:39:27,735 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:28,529 INFO L290 TraceCheckUtils]: 59: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-08 10:39:28,529 INFO L290 TraceCheckUtils]: 58: Hoare triple {2573#false} assume 0 == ~cond; {2573#false} is VALID [2022-04-08 10:39:28,529 INFO L290 TraceCheckUtils]: 57: Hoare triple {2573#false} ~cond := #in~cond; {2573#false} is VALID [2022-04-08 10:39:28,529 INFO L272 TraceCheckUtils]: 56: Hoare triple {2573#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {2573#false} is VALID [2022-04-08 10:39:28,529 INFO L290 TraceCheckUtils]: 55: Hoare triple {2573#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {2573#false} is VALID [2022-04-08 10:39:28,529 INFO L290 TraceCheckUtils]: 54: Hoare triple {2573#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {2573#false} is VALID [2022-04-08 10:39:28,530 INFO L272 TraceCheckUtils]: 53: Hoare triple {2573#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {2573#false} is VALID [2022-04-08 10:39:28,530 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2617#(<= 2 |downsweep_#in~n|)} {2598#(<= main_~n~0 1)} #154#return; {2573#false} is VALID [2022-04-08 10:39:28,531 INFO L290 TraceCheckUtils]: 51: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume true; {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:28,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume !(~space > 0); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:28,531 INFO L290 TraceCheckUtils]: 49: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:28,531 INFO L290 TraceCheckUtils]: 48: Hoare triple {2617#(<= 2 |downsweep_#in~n|)} assume !(~right~1 < ~n); {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:28,532 INFO L290 TraceCheckUtils]: 47: Hoare triple {2841#(or (<= 2 |downsweep_#in~n|) (not (< downsweep_~right~1 downsweep_~n)))} assume !!(~right~1 < ~n);~left~1 := ~right~1 - ~space;call #t~mem7 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~a.base, ~a.offset + 4 * ~left~1, 4);call #t~mem9 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);call write~int(#t~mem8 + #t~mem9, ~a.base, ~a.offset + 4 * ~right~1, 4);havoc #t~mem8;havoc #t~mem9;call write~int(~temp~0, ~a.base, ~a.offset + 4 * ~left~1, 4);~right~1 := ~right~1 + 2 * ~space; {2617#(<= 2 |downsweep_#in~n|)} is VALID [2022-04-08 10:39:28,533 INFO L290 TraceCheckUtils]: 46: Hoare triple {2845#(or (<= 2 |downsweep_#in~n|) (<= (div (+ (- 1) (* (- 1) downsweep_~n)) (- 2)) 1))} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {2841#(or (<= 2 |downsweep_#in~n|) (not (< downsweep_~right~1 downsweep_~n)))} is VALID [2022-04-08 10:39:28,533 INFO L290 TraceCheckUtils]: 45: Hoare triple {2572#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {2845#(or (<= 2 |downsweep_#in~n|) (<= (div (+ (- 1) (* (- 1) downsweep_~n)) (- 2)) 1))} is VALID [2022-04-08 10:39:28,534 INFO L272 TraceCheckUtils]: 44: Hoare triple {2598#(<= main_~n~0 1)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {2572#true} is VALID [2022-04-08 10:39:28,534 INFO L290 TraceCheckUtils]: 43: Hoare triple {2598#(<= main_~n~0 1)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:28,535 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2739#(<= |upsweep_#in~n| 1)} {2572#true} #152#return; {2598#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:28,535 INFO L290 TraceCheckUtils]: 41: Hoare triple {2739#(<= |upsweep_#in~n| 1)} assume true; {2739#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:28,535 INFO L290 TraceCheckUtils]: 40: Hoare triple {2739#(<= |upsweep_#in~n| 1)} #res := ~space~0; {2739#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:28,536 INFO L290 TraceCheckUtils]: 39: Hoare triple {2867#(or (< upsweep_~space~0 upsweep_~n) (<= |upsweep_#in~n| 1))} assume !(~space~0 < ~n); {2739#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:28,536 INFO L290 TraceCheckUtils]: 38: Hoare triple {2572#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {2867#(or (< upsweep_~space~0 upsweep_~n) (<= |upsweep_#in~n| 1))} is VALID [2022-04-08 10:39:28,536 INFO L272 TraceCheckUtils]: 37: Hoare triple {2572#true} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {2572#true} is VALID [2022-04-08 10:39:28,536 INFO L290 TraceCheckUtils]: 36: Hoare triple {2572#true} assume !(~i~1 < ~n~0); {2572#true} is VALID [2022-04-08 10:39:28,536 INFO L290 TraceCheckUtils]: 35: Hoare triple {2572#true} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {2572#true} is VALID [2022-04-08 10:39:28,536 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {2572#true} is VALID [2022-04-08 10:39:28,536 INFO L290 TraceCheckUtils]: 33: Hoare triple {2572#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {2572#true} is VALID [2022-04-08 10:39:28,536 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2572#true} {2572#true} #150#return; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {2572#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L272 TraceCheckUtils]: 29: Hoare triple {2572#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 28: Hoare triple {2572#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2572#true} {2572#true} #148#return; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L272 TraceCheckUtils]: 24: Hoare triple {2572#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {2572#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2572#true} {2572#true} #146#return; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 21: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L272 TraceCheckUtils]: 18: Hoare triple {2572#true} call assume_abort_if_not(#t~ret14); {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L290 TraceCheckUtils]: 17: Hoare triple {2572#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {2572#true} is VALID [2022-04-08 10:39:28,537 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2572#true} {2572#true} #144#return; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {2572#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 12: Hoare triple {2572#true} ~x := #in~x; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L272 TraceCheckUtils]: 11: Hoare triple {2572#true} call #t~ret14 := is_pow2(~n~0); {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #142#return; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret20 := main(); {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #160#return; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {2572#true} is VALID [2022-04-08 10:39:28,538 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-08 10:39:28,539 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:39:28,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [120941686] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:28,539 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:39:28,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [11, 8] total 18 [2022-04-08 10:39:28,539 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:28,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [94432904] [2022-04-08 10:39:28,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [94432904] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:28,539 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:28,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:39:28,539 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [780314258] [2022-04-08 10:39:28,539 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:28,540 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 8 states have internal predecessors, (36), 3 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 60 [2022-04-08 10:39:28,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:28,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.5) internal successors, (36), 8 states have internal predecessors, (36), 3 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:28,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:28,582 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:39:28,583 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:28,583 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:39:28,583 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-08 10:39:28,583 INFO L87 Difference]: Start difference. First operand 80 states and 95 transitions. Second operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 8 states have internal predecessors, (36), 3 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:37,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:37,721 INFO L93 Difference]: Finished difference Result 93 states and 108 transitions. [2022-04-08 10:39:37,721 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:39:37,721 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 8 states have internal predecessors, (36), 3 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 60 [2022-04-08 10:39:37,722 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:37,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 8 states have internal predecessors, (36), 3 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:37,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2022-04-08 10:39:37,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 8 states have internal predecessors, (36), 3 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:37,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2022-04-08 10:39:37,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 99 transitions. [2022-04-08 10:39:37,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:37,800 INFO L225 Difference]: With dead ends: 93 [2022-04-08 10:39:37,800 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 10:39:37,800 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 144 GetRequests, 124 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-08 10:39:37,801 INFO L913 BasicCegarLoop]: 65 mSDtfsCounter, 16 mSDsluCounter, 270 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 335 SdHoareTripleChecker+Invalid, 98 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:37,801 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 335 Invalid, 98 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:39:37,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 10:39:37,867 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 80. [2022-04-08 10:39:37,868 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:37,868 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:37,868 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:37,868 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:37,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:37,870 INFO L93 Difference]: Finished difference Result 81 states and 95 transitions. [2022-04-08 10:39:37,870 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 95 transitions. [2022-04-08 10:39:37,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:37,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:37,871 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) Second operand 81 states. [2022-04-08 10:39:37,871 INFO L87 Difference]: Start difference. First operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) Second operand 81 states. [2022-04-08 10:39:37,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:37,873 INFO L93 Difference]: Finished difference Result 81 states and 95 transitions. [2022-04-08 10:39:37,873 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 95 transitions. [2022-04-08 10:39:37,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:37,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:37,873 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:37,873 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:37,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 54 states have (on average 1.2037037037037037) internal successors, (65), 57 states have internal predecessors, (65), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:37,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 94 transitions. [2022-04-08 10:39:37,875 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 94 transitions. Word has length 60 [2022-04-08 10:39:37,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:37,875 INFO L478 AbstractCegarLoop]: Abstraction has 80 states and 94 transitions. [2022-04-08 10:39:37,875 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 8 states have internal predecessors, (36), 3 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:39:37,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 80 states and 94 transitions. [2022-04-08 10:39:37,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:37,985 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 94 transitions. [2022-04-08 10:39:37,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-08 10:39:37,985 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:37,985 INFO L499 BasicCegarLoop]: trace histogram [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, 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, 1, 1, 1, 1, 1, 1] [2022-04-08 10:39:38,001 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-08 10:39:38,191 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:38,191 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:38,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:38,192 INFO L85 PathProgramCache]: Analyzing trace with hash 589581770, now seen corresponding path program 1 times [2022-04-08 10:39:38,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:38,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [428399867] [2022-04-08 10:39:38,192 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:39:38,192 INFO L85 PathProgramCache]: Analyzing trace with hash 589581770, now seen corresponding path program 2 times [2022-04-08 10:39:38,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:38,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1397010889] [2022-04-08 10:39:38,192 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:38,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:38,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,272 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:38,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,276 INFO L290 TraceCheckUtils]: 0: Hoare triple {3536#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {3494#true} is VALID [2022-04-08 10:39:38,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,276 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3494#true} {3494#true} #160#return; {3494#true} is VALID [2022-04-08 10:39:38,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:39:38,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,279 INFO L290 TraceCheckUtils]: 0: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:38,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:38,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3494#true} {3494#true} #142#return; {3494#true} is VALID [2022-04-08 10:39:38,280 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:39:38,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,285 INFO L290 TraceCheckUtils]: 0: Hoare triple {3494#true} ~x := #in~x; {3494#true} is VALID [2022-04-08 10:39:38,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {3494#true} is VALID [2022-04-08 10:39:38,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {3494#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {3494#true} is VALID [2022-04-08 10:39:38,286 INFO L290 TraceCheckUtils]: 3: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,286 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3494#true} {3494#true} #144#return; {3494#true} is VALID [2022-04-08 10:39:38,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:39:38,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,288 INFO L290 TraceCheckUtils]: 0: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:38,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:38,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3494#true} {3494#true} #146#return; {3494#true} is VALID [2022-04-08 10:39:38,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:39:38,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,297 INFO L290 TraceCheckUtils]: 0: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:38,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,297 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3494#true} {3494#true} #148#return; {3494#true} is VALID [2022-04-08 10:39:38,298 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:39:38,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:38,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,302 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3494#true} {3494#true} #150#return; {3494#true} is VALID [2022-04-08 10:39:38,302 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-08 10:39:38,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,323 INFO L290 TraceCheckUtils]: 0: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {3494#true} is VALID [2022-04-08 10:39:38,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {3538#(<= (+ upsweep_~left~0 2) upsweep_~n)} is VALID [2022-04-08 10:39:38,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {3538#(<= (+ upsweep_~left~0 2) upsweep_~n)} assume !(~left~0 < ~n); {3495#false} is VALID [2022-04-08 10:39:38,324 INFO L290 TraceCheckUtils]: 3: Hoare triple {3495#false} ~space~0 := 2 * ~space~0; {3495#false} is VALID [2022-04-08 10:39:38,324 INFO L290 TraceCheckUtils]: 4: Hoare triple {3495#false} assume !(~space~0 < ~n); {3495#false} is VALID [2022-04-08 10:39:38,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {3495#false} #res := ~space~0; {3495#false} is VALID [2022-04-08 10:39:38,324 INFO L290 TraceCheckUtils]: 6: Hoare triple {3495#false} assume true; {3495#false} is VALID [2022-04-08 10:39:38,324 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3495#false} {3520#(<= 1 main_~n~0)} #152#return; {3495#false} is VALID [2022-04-08 10:39:38,324 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 10:39:38,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3494#true} is VALID [2022-04-08 10:39:38,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {3494#true} is VALID [2022-04-08 10:39:38,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {3494#true} assume !(~right~1 < ~n); {3494#true} is VALID [2022-04-08 10:39:38,331 INFO L290 TraceCheckUtils]: 3: Hoare triple {3494#true} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3494#true} is VALID [2022-04-08 10:39:38,331 INFO L290 TraceCheckUtils]: 4: Hoare triple {3494#true} assume !(~space > 0); {3494#true} is VALID [2022-04-08 10:39:38,331 INFO L290 TraceCheckUtils]: 5: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,331 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3494#true} {3495#false} #154#return; {3495#false} is VALID [2022-04-08 10:39:38,332 INFO L272 TraceCheckUtils]: 0: Hoare triple {3494#true} call ULTIMATE.init(); {3536#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:38,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {3536#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3494#true} {3494#true} #160#return; {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L272 TraceCheckUtils]: 4: Hoare triple {3494#true} call #t~ret20 := main(); {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L290 TraceCheckUtils]: 5: Hoare triple {3494#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L272 TraceCheckUtils]: 6: Hoare triple {3494#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L290 TraceCheckUtils]: 7: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:38,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3494#true} {3494#true} #142#return; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L272 TraceCheckUtils]: 11: Hoare triple {3494#true} call #t~ret14 := is_pow2(~n~0); {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {3494#true} ~x := #in~x; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {3494#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {3494#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3494#true} {3494#true} #144#return; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 17: Hoare triple {3494#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L272 TraceCheckUtils]: 18: Hoare triple {3494#true} call assume_abort_if_not(#t~ret14); {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 21: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3494#true} {3494#true} #146#return; {3494#true} is VALID [2022-04-08 10:39:38,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:38,334 INFO L272 TraceCheckUtils]: 24: Hoare triple {3494#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {3537#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:38,334 INFO L290 TraceCheckUtils]: 25: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:38,334 INFO L290 TraceCheckUtils]: 26: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,334 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3494#true} {3494#true} #148#return; {3494#true} is VALID [2022-04-08 10:39:38,334 INFO L290 TraceCheckUtils]: 28: Hoare triple {3494#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:38,335 INFO L272 TraceCheckUtils]: 29: Hoare triple {3494#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {3537#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:38,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:38,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,335 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3494#true} {3494#true} #150#return; {3494#true} is VALID [2022-04-08 10:39:38,336 INFO L290 TraceCheckUtils]: 33: Hoare triple {3494#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {3518#(= main_~i~1 0)} is VALID [2022-04-08 10:39:38,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {3518#(= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {3519#(and (<= (+ main_~i~1 1) main_~n~0) (= main_~i~1 0))} is VALID [2022-04-08 10:39:38,337 INFO L290 TraceCheckUtils]: 35: Hoare triple {3519#(and (<= (+ main_~i~1 1) main_~n~0) (= main_~i~1 0))} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {3520#(<= 1 main_~n~0)} is VALID [2022-04-08 10:39:38,337 INFO L290 TraceCheckUtils]: 36: Hoare triple {3520#(<= 1 main_~n~0)} assume !(~i~1 < ~n~0); {3520#(<= 1 main_~n~0)} is VALID [2022-04-08 10:39:38,337 INFO L272 TraceCheckUtils]: 37: Hoare triple {3520#(<= 1 main_~n~0)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {3537#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:38,338 INFO L290 TraceCheckUtils]: 38: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {3494#true} is VALID [2022-04-08 10:39:38,338 INFO L290 TraceCheckUtils]: 39: Hoare triple {3494#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {3538#(<= (+ upsweep_~left~0 2) upsweep_~n)} is VALID [2022-04-08 10:39:38,338 INFO L290 TraceCheckUtils]: 40: Hoare triple {3538#(<= (+ upsweep_~left~0 2) upsweep_~n)} assume !(~left~0 < ~n); {3495#false} is VALID [2022-04-08 10:39:38,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {3495#false} ~space~0 := 2 * ~space~0; {3495#false} is VALID [2022-04-08 10:39:38,338 INFO L290 TraceCheckUtils]: 42: Hoare triple {3495#false} assume !(~space~0 < ~n); {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 43: Hoare triple {3495#false} #res := ~space~0; {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 44: Hoare triple {3495#false} assume true; {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3495#false} {3520#(<= 1 main_~n~0)} #152#return; {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 46: Hoare triple {3495#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L272 TraceCheckUtils]: 47: Hoare triple {3495#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {3537#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {3537#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3494#true} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 49: Hoare triple {3494#true} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {3494#true} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 50: Hoare triple {3494#true} assume !(~right~1 < ~n); {3494#true} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 51: Hoare triple {3494#true} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3494#true} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 52: Hoare triple {3494#true} assume !(~space > 0); {3494#true} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 53: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,339 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3494#true} {3495#false} #154#return; {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L272 TraceCheckUtils]: 55: Hoare triple {3495#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 56: Hoare triple {3495#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 57: Hoare triple {3495#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L272 TraceCheckUtils]: 58: Hoare triple {3495#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {3495#false} is VALID [2022-04-08 10:39:38,339 INFO L290 TraceCheckUtils]: 59: Hoare triple {3495#false} ~cond := #in~cond; {3495#false} is VALID [2022-04-08 10:39:38,340 INFO L290 TraceCheckUtils]: 60: Hoare triple {3495#false} assume 0 == ~cond; {3495#false} is VALID [2022-04-08 10:39:38,340 INFO L290 TraceCheckUtils]: 61: Hoare triple {3495#false} assume !false; {3495#false} is VALID [2022-04-08 10:39:38,340 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:39:38,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:38,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1397010889] [2022-04-08 10:39:38,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1397010889] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:38,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1470756393] [2022-04-08 10:39:38,340 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:39:38,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:38,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:38,341 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:38,342 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 10:39:38,413 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:39:38,413 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:38,414 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:39:38,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:38,443 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:38,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {3494#true} call ULTIMATE.init(); {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3494#true} {3494#true} #160#return; {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {3494#true} call #t~ret20 := main(); {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {3494#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L272 TraceCheckUtils]: 6: Hoare triple {3494#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L290 TraceCheckUtils]: 7: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L290 TraceCheckUtils]: 8: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L290 TraceCheckUtils]: 9: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3494#true} {3494#true} #142#return; {3494#true} is VALID [2022-04-08 10:39:38,670 INFO L272 TraceCheckUtils]: 11: Hoare triple {3494#true} call #t~ret14 := is_pow2(~n~0); {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 12: Hoare triple {3494#true} ~x := #in~x; {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 13: Hoare triple {3494#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 14: Hoare triple {3494#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 15: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3494#true} {3494#true} #144#return; {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 17: Hoare triple {3494#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L272 TraceCheckUtils]: 18: Hoare triple {3494#true} call assume_abort_if_not(#t~ret14); {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 21: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3494#true} {3494#true} #146#return; {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:38,671 INFO L272 TraceCheckUtils]: 24: Hoare triple {3494#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {3494#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L290 TraceCheckUtils]: 26: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3494#true} {3494#true} #148#return; {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L290 TraceCheckUtils]: 28: Hoare triple {3494#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L272 TraceCheckUtils]: 29: Hoare triple {3494#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L290 TraceCheckUtils]: 30: Hoare triple {3494#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:38,672 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3494#true} {3494#true} #150#return; {3494#true} is VALID [2022-04-08 10:39:38,687 INFO L290 TraceCheckUtils]: 33: Hoare triple {3494#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {3641#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:38,688 INFO L290 TraceCheckUtils]: 34: Hoare triple {3641#(<= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {3641#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:38,688 INFO L290 TraceCheckUtils]: 35: Hoare triple {3641#(<= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {3648#(<= main_~i~1 1)} is VALID [2022-04-08 10:39:38,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {3648#(<= main_~i~1 1)} assume !(~i~1 < ~n~0); {3652#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:38,689 INFO L272 TraceCheckUtils]: 37: Hoare triple {3652#(<= main_~n~0 1)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {3494#true} is VALID [2022-04-08 10:39:38,689 INFO L290 TraceCheckUtils]: 38: Hoare triple {3494#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {3659#(and (<= upsweep_~n |upsweep_#in~n|) (<= 1 upsweep_~space~0))} is VALID [2022-04-08 10:39:38,690 INFO L290 TraceCheckUtils]: 39: Hoare triple {3659#(and (<= upsweep_~n |upsweep_#in~n|) (<= 1 upsweep_~space~0))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:38,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {3663#(< 1 |upsweep_#in~n|)} assume !(~left~0 < ~n); {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:38,690 INFO L290 TraceCheckUtils]: 41: Hoare triple {3663#(< 1 |upsweep_#in~n|)} ~space~0 := 2 * ~space~0; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:38,691 INFO L290 TraceCheckUtils]: 42: Hoare triple {3663#(< 1 |upsweep_#in~n|)} assume !(~space~0 < ~n); {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:38,691 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(< 1 |upsweep_#in~n|)} #res := ~space~0; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:38,691 INFO L290 TraceCheckUtils]: 44: Hoare triple {3663#(< 1 |upsweep_#in~n|)} assume true; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:38,692 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3663#(< 1 |upsweep_#in~n|)} {3652#(<= main_~n~0 1)} #152#return; {3495#false} is VALID [2022-04-08 10:39:38,692 INFO L290 TraceCheckUtils]: 46: Hoare triple {3495#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {3495#false} is VALID [2022-04-08 10:39:38,692 INFO L272 TraceCheckUtils]: 47: Hoare triple {3495#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {3495#false} is VALID [2022-04-08 10:39:38,692 INFO L290 TraceCheckUtils]: 48: Hoare triple {3495#false} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3495#false} is VALID [2022-04-08 10:39:38,692 INFO L290 TraceCheckUtils]: 49: Hoare triple {3495#false} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {3495#false} is VALID [2022-04-08 10:39:38,692 INFO L290 TraceCheckUtils]: 50: Hoare triple {3495#false} assume !(~right~1 < ~n); {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 51: Hoare triple {3495#false} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 52: Hoare triple {3495#false} assume !(~space > 0); {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 53: Hoare triple {3495#false} assume true; {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3495#false} {3495#false} #154#return; {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L272 TraceCheckUtils]: 55: Hoare triple {3495#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 56: Hoare triple {3495#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 57: Hoare triple {3495#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L272 TraceCheckUtils]: 58: Hoare triple {3495#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 59: Hoare triple {3495#false} ~cond := #in~cond; {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 60: Hoare triple {3495#false} assume 0 == ~cond; {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L290 TraceCheckUtils]: 61: Hoare triple {3495#false} assume !false; {3495#false} is VALID [2022-04-08 10:39:38,693 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:39:38,693 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:39,045 INFO L290 TraceCheckUtils]: 61: Hoare triple {3495#false} assume !false; {3495#false} is VALID [2022-04-08 10:39:39,045 INFO L290 TraceCheckUtils]: 60: Hoare triple {3495#false} assume 0 == ~cond; {3495#false} is VALID [2022-04-08 10:39:39,045 INFO L290 TraceCheckUtils]: 59: Hoare triple {3495#false} ~cond := #in~cond; {3495#false} is VALID [2022-04-08 10:39:39,045 INFO L272 TraceCheckUtils]: 58: Hoare triple {3495#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {3495#false} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 57: Hoare triple {3495#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {3495#false} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 56: Hoare triple {3495#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {3495#false} is VALID [2022-04-08 10:39:39,046 INFO L272 TraceCheckUtils]: 55: Hoare triple {3495#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {3495#false} is VALID [2022-04-08 10:39:39,046 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3494#true} {3495#false} #154#return; {3495#false} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 53: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 52: Hoare triple {3494#true} assume !(~space > 0); {3494#true} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 51: Hoare triple {3494#true} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3494#true} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 50: Hoare triple {3494#true} assume !(~right~1 < ~n); {3494#true} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 49: Hoare triple {3494#true} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {3494#true} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 48: Hoare triple {3494#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {3494#true} is VALID [2022-04-08 10:39:39,046 INFO L272 TraceCheckUtils]: 47: Hoare triple {3495#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {3494#true} is VALID [2022-04-08 10:39:39,046 INFO L290 TraceCheckUtils]: 46: Hoare triple {3495#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {3495#false} is VALID [2022-04-08 10:39:39,047 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3663#(< 1 |upsweep_#in~n|)} {3652#(<= main_~n~0 1)} #152#return; {3495#false} is VALID [2022-04-08 10:39:39,048 INFO L290 TraceCheckUtils]: 44: Hoare triple {3663#(< 1 |upsweep_#in~n|)} assume true; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:39,048 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(< 1 |upsweep_#in~n|)} #res := ~space~0; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:39,048 INFO L290 TraceCheckUtils]: 42: Hoare triple {3663#(< 1 |upsweep_#in~n|)} assume !(~space~0 < ~n); {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:39,049 INFO L290 TraceCheckUtils]: 41: Hoare triple {3663#(< 1 |upsweep_#in~n|)} ~space~0 := 2 * ~space~0; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:39,049 INFO L290 TraceCheckUtils]: 40: Hoare triple {3663#(< 1 |upsweep_#in~n|)} assume !(~left~0 < ~n); {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:39,050 INFO L290 TraceCheckUtils]: 39: Hoare triple {3799#(or (< 1 |upsweep_#in~n|) (not (< upsweep_~space~0 upsweep_~n)))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {3663#(< 1 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:39,050 INFO L290 TraceCheckUtils]: 38: Hoare triple {3494#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {3799#(or (< 1 |upsweep_#in~n|) (not (< upsweep_~space~0 upsweep_~n)))} is VALID [2022-04-08 10:39:39,050 INFO L272 TraceCheckUtils]: 37: Hoare triple {3652#(<= main_~n~0 1)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {3494#true} is VALID [2022-04-08 10:39:39,051 INFO L290 TraceCheckUtils]: 36: Hoare triple {3648#(<= main_~i~1 1)} assume !(~i~1 < ~n~0); {3652#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:39,051 INFO L290 TraceCheckUtils]: 35: Hoare triple {3641#(<= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {3648#(<= main_~i~1 1)} is VALID [2022-04-08 10:39:39,052 INFO L290 TraceCheckUtils]: 34: Hoare triple {3641#(<= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {3641#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:39,052 INFO L290 TraceCheckUtils]: 33: Hoare triple {3494#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {3641#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:39,052 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3494#true} {3494#true} #150#return; {3494#true} is VALID [2022-04-08 10:39:39,052 INFO L290 TraceCheckUtils]: 31: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:39,052 INFO L290 TraceCheckUtils]: 30: Hoare triple {3494#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:39,052 INFO L272 TraceCheckUtils]: 29: Hoare triple {3494#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:39,052 INFO L290 TraceCheckUtils]: 28: Hoare triple {3494#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3494#true} {3494#true} #148#return; {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L290 TraceCheckUtils]: 26: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L290 TraceCheckUtils]: 25: Hoare triple {3494#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L272 TraceCheckUtils]: 24: Hoare triple {3494#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3494#true} {3494#true} #146#return; {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L272 TraceCheckUtils]: 18: Hoare triple {3494#true} call assume_abort_if_not(#t~ret14); {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {3494#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {3494#true} is VALID [2022-04-08 10:39:39,053 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3494#true} {3494#true} #144#return; {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 15: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 14: Hoare triple {3494#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 13: Hoare triple {3494#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 12: Hoare triple {3494#true} ~x := #in~x; {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L272 TraceCheckUtils]: 11: Hoare triple {3494#true} call #t~ret14 := is_pow2(~n~0); {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3494#true} {3494#true} #142#return; {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {3494#true} assume !(0 == ~cond); {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {3494#true} ~cond := #in~cond; {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L272 TraceCheckUtils]: 6: Hoare triple {3494#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L290 TraceCheckUtils]: 5: Hoare triple {3494#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {3494#true} is VALID [2022-04-08 10:39:39,054 INFO L272 TraceCheckUtils]: 4: Hoare triple {3494#true} call #t~ret20 := main(); {3494#true} is VALID [2022-04-08 10:39:39,055 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3494#true} {3494#true} #160#return; {3494#true} is VALID [2022-04-08 10:39:39,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {3494#true} assume true; {3494#true} is VALID [2022-04-08 10:39:39,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {3494#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {3494#true} is VALID [2022-04-08 10:39:39,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {3494#true} call ULTIMATE.init(); {3494#true} is VALID [2022-04-08 10:39:39,055 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:39:39,055 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1470756393] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:39:39,055 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:39:39,055 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 14 [2022-04-08 10:39:39,056 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:39,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [428399867] [2022-04-08 10:39:39,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [428399867] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:39,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:39,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:39:39,056 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1049225922] [2022-04-08 10:39:39,056 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:39,057 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 6 states have internal predecessors, (38), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-04-08 10:39:39,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:39,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.75) internal successors, (38), 6 states have internal predecessors, (38), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:39:39,102 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:39,103 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:39:39,103 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:39,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:39:39,104 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2022-04-08 10:39:39,104 INFO L87 Difference]: Start difference. First operand 80 states and 94 transitions. Second operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 6 states have internal predecessors, (38), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:39:41,224 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:39:43,364 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.14s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:39:44,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:44,098 INFO L93 Difference]: Finished difference Result 125 states and 148 transitions. [2022-04-08 10:39:44,098 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:39:44,098 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 6 states have internal predecessors, (38), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-04-08 10:39:44,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:44,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 6 states have internal predecessors, (38), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:39:44,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-08 10:39:44,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 6 states have internal predecessors, (38), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:39:44,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-08 10:39:44,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 106 transitions. [2022-04-08 10:39:44,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:44,183 INFO L225 Difference]: With dead ends: 125 [2022-04-08 10:39:44,183 INFO L226 Difference]: Without dead ends: 83 [2022-04-08 10:39:44,184 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 135 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=69, Invalid=311, Unknown=0, NotChecked=0, Total=380 [2022-04-08 10:39:44,184 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 76 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 229 mSolverCounterSat, 39 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 270 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 229 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:44,184 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 54 Invalid, 270 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 229 Invalid, 2 Unknown, 0 Unchecked, 4.4s Time] [2022-04-08 10:39:44,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-08 10:39:44,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 81. [2022-04-08 10:39:44,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:44,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 81 states, 55 states have (on average 1.2) internal successors, (66), 58 states have internal predecessors, (66), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:44,274 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 81 states, 55 states have (on average 1.2) internal successors, (66), 58 states have internal predecessors, (66), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:44,274 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 81 states, 55 states have (on average 1.2) internal successors, (66), 58 states have internal predecessors, (66), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:44,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:44,276 INFO L93 Difference]: Finished difference Result 83 states and 97 transitions. [2022-04-08 10:39:44,276 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-08 10:39:44,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:44,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:44,276 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 55 states have (on average 1.2) internal successors, (66), 58 states have internal predecessors, (66), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) Second operand 83 states. [2022-04-08 10:39:44,276 INFO L87 Difference]: Start difference. First operand has 81 states, 55 states have (on average 1.2) internal successors, (66), 58 states have internal predecessors, (66), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) Second operand 83 states. [2022-04-08 10:39:44,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:44,278 INFO L93 Difference]: Finished difference Result 83 states and 97 transitions. [2022-04-08 10:39:44,278 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-08 10:39:44,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:44,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:44,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:44,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:44,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 55 states have (on average 1.2) internal successors, (66), 58 states have internal predecessors, (66), 14 states have call successors, (14), 11 states have call predecessors, (14), 11 states have return successors, (15), 11 states have call predecessors, (15), 11 states have call successors, (15) [2022-04-08 10:39:44,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 95 transitions. [2022-04-08 10:39:44,280 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 95 transitions. Word has length 62 [2022-04-08 10:39:44,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:44,280 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 95 transitions. [2022-04-08 10:39:44,281 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 6 states have internal predecessors, (38), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:39:44,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 95 transitions. [2022-04-08 10:39:44,388 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:44,388 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 95 transitions. [2022-04-08 10:39:44,389 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 10:39:44,389 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:44,389 INFO L499 BasicCegarLoop]: trace histogram [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, 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, 1, 1, 1, 1, 1] [2022-04-08 10:39:44,406 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:44,591 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:44,591 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:44,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:44,592 INFO L85 PathProgramCache]: Analyzing trace with hash 2146675487, now seen corresponding path program 1 times [2022-04-08 10:39:44,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:44,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1593674453] [2022-04-08 10:39:44,592 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:39:44,592 INFO L85 PathProgramCache]: Analyzing trace with hash 2146675487, now seen corresponding path program 2 times [2022-04-08 10:39:44,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:44,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1587477186] [2022-04-08 10:39:44,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:44,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:44,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,667 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:44,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,675 INFO L290 TraceCheckUtils]: 0: Hoare triple {4550#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {4507#true} is VALID [2022-04-08 10:39:44,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,676 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4507#true} {4507#true} #160#return; {4507#true} is VALID [2022-04-08 10:39:44,676 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:39:44,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,688 INFO L290 TraceCheckUtils]: 0: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:44,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:44,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4507#true} {4507#true} #142#return; {4507#true} is VALID [2022-04-08 10:39:44,688 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:39:44,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {4507#true} ~x := #in~x; {4507#true} is VALID [2022-04-08 10:39:44,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {4507#true} is VALID [2022-04-08 10:39:44,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {4507#true} is VALID [2022-04-08 10:39:44,694 INFO L290 TraceCheckUtils]: 3: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,694 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4507#true} {4507#true} #144#return; {4507#true} is VALID [2022-04-08 10:39:44,694 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:39:44,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,697 INFO L290 TraceCheckUtils]: 0: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:44,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:44,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4507#true} {4507#true} #146#return; {4507#true} is VALID [2022-04-08 10:39:44,706 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:39:44,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,709 INFO L290 TraceCheckUtils]: 0: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4507#true} is VALID [2022-04-08 10:39:44,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,709 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4507#true} {4507#true} #148#return; {4507#true} is VALID [2022-04-08 10:39:44,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:39:44,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4507#true} is VALID [2022-04-08 10:39:44,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,713 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4507#true} {4507#true} #150#return; {4507#true} is VALID [2022-04-08 10:39:44,713 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-08 10:39:44,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,718 INFO L290 TraceCheckUtils]: 0: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {4507#true} is VALID [2022-04-08 10:39:44,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume !(~space~0 < ~n); {4507#true} is VALID [2022-04-08 10:39:44,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} #res := ~space~0; {4507#true} is VALID [2022-04-08 10:39:44,718 INFO L290 TraceCheckUtils]: 3: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,718 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4507#true} {4533#(<= main_~n~0 1)} #152#return; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:44,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 10:39:44,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,724 INFO L290 TraceCheckUtils]: 0: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {4507#true} is VALID [2022-04-08 10:39:44,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume !(~space > 0); {4507#true} is VALID [2022-04-08 10:39:44,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4507#true} {4533#(<= main_~n~0 1)} #154#return; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:44,725 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 52 [2022-04-08 10:39:44,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,727 INFO L290 TraceCheckUtils]: 0: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:44,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:44,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4507#true} {4544#(and (<= check_~n 1) (= check_~i~0 0))} #158#return; {4544#(and (<= check_~n 1) (= check_~i~0 0))} is VALID [2022-04-08 10:39:44,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {4507#true} call ULTIMATE.init(); {4550#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:44,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {4550#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4507#true} {4507#true} #160#return; {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {4507#true} call #t~ret20 := main(); {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {4507#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {4507#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:44,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4507#true} {4507#true} #142#return; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L272 TraceCheckUtils]: 11: Hoare triple {4507#true} call #t~ret14 := is_pow2(~n~0); {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 12: Hoare triple {4507#true} ~x := #in~x; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {4507#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {4507#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4507#true} {4507#true} #144#return; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {4507#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L272 TraceCheckUtils]: 18: Hoare triple {4507#true} call assume_abort_if_not(#t~ret14); {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 19: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 20: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 21: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4507#true} {4507#true} #146#return; {4507#true} is VALID [2022-04-08 10:39:44,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {4507#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {4507#true} is VALID [2022-04-08 10:39:44,730 INFO L272 TraceCheckUtils]: 24: Hoare triple {4507#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {4551#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:44,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4507#true} is VALID [2022-04-08 10:39:44,730 INFO L290 TraceCheckUtils]: 26: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,730 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4507#true} {4507#true} #148#return; {4507#true} is VALID [2022-04-08 10:39:44,730 INFO L290 TraceCheckUtils]: 28: Hoare triple {4507#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {4507#true} is VALID [2022-04-08 10:39:44,731 INFO L272 TraceCheckUtils]: 29: Hoare triple {4507#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {4551#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:44,731 INFO L290 TraceCheckUtils]: 30: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4507#true} is VALID [2022-04-08 10:39:44,731 INFO L290 TraceCheckUtils]: 31: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,731 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4507#true} {4507#true} #150#return; {4507#true} is VALID [2022-04-08 10:39:44,731 INFO L290 TraceCheckUtils]: 33: Hoare triple {4507#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {4531#(= main_~i~1 0)} is VALID [2022-04-08 10:39:44,731 INFO L290 TraceCheckUtils]: 34: Hoare triple {4531#(= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {4531#(= main_~i~1 0)} is VALID [2022-04-08 10:39:44,732 INFO L290 TraceCheckUtils]: 35: Hoare triple {4531#(= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {4532#(<= main_~i~1 1)} is VALID [2022-04-08 10:39:44,732 INFO L290 TraceCheckUtils]: 36: Hoare triple {4532#(<= main_~i~1 1)} assume !(~i~1 < ~n~0); {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:44,733 INFO L272 TraceCheckUtils]: 37: Hoare triple {4533#(<= main_~n~0 1)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {4551#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:44,733 INFO L290 TraceCheckUtils]: 38: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {4507#true} is VALID [2022-04-08 10:39:44,733 INFO L290 TraceCheckUtils]: 39: Hoare triple {4507#true} assume !(~space~0 < ~n); {4507#true} is VALID [2022-04-08 10:39:44,733 INFO L290 TraceCheckUtils]: 40: Hoare triple {4507#true} #res := ~space~0; {4507#true} is VALID [2022-04-08 10:39:44,733 INFO L290 TraceCheckUtils]: 41: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,733 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4507#true} {4533#(<= main_~n~0 1)} #152#return; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:44,734 INFO L290 TraceCheckUtils]: 43: Hoare triple {4533#(<= main_~n~0 1)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:44,734 INFO L272 TraceCheckUtils]: 44: Hoare triple {4533#(<= main_~n~0 1)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {4551#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:44,734 INFO L290 TraceCheckUtils]: 45: Hoare triple {4551#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {4507#true} is VALID [2022-04-08 10:39:44,734 INFO L290 TraceCheckUtils]: 46: Hoare triple {4507#true} assume !(~space > 0); {4507#true} is VALID [2022-04-08 10:39:44,734 INFO L290 TraceCheckUtils]: 47: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,735 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4507#true} {4533#(<= main_~n~0 1)} #154#return; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:44,735 INFO L272 TraceCheckUtils]: 49: Hoare triple {4533#(<= main_~n~0 1)} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {4543#(<= |check_#in~n| 1)} is VALID [2022-04-08 10:39:44,736 INFO L290 TraceCheckUtils]: 50: Hoare triple {4543#(<= |check_#in~n| 1)} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {4544#(and (<= check_~n 1) (= check_~i~0 0))} is VALID [2022-04-08 10:39:44,736 INFO L290 TraceCheckUtils]: 51: Hoare triple {4544#(and (<= check_~n 1) (= check_~i~0 0))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {4544#(and (<= check_~n 1) (= check_~i~0 0))} is VALID [2022-04-08 10:39:44,736 INFO L272 TraceCheckUtils]: 52: Hoare triple {4544#(and (<= check_~n 1) (= check_~i~0 0))} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {4507#true} is VALID [2022-04-08 10:39:44,736 INFO L290 TraceCheckUtils]: 53: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:44,736 INFO L290 TraceCheckUtils]: 54: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:44,736 INFO L290 TraceCheckUtils]: 55: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:44,737 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4507#true} {4544#(and (<= check_~n 1) (= check_~i~0 0))} #158#return; {4544#(and (<= check_~n 1) (= check_~i~0 0))} is VALID [2022-04-08 10:39:44,737 INFO L290 TraceCheckUtils]: 57: Hoare triple {4544#(and (<= check_~n 1) (= check_~i~0 0))} havoc #t~mem11;call #t~mem12 := read~int(~a0.base, ~a0.offset + 4 * ~i~0, 4);~sum~0 := ~sum~0 + #t~mem12;havoc #t~mem12; {4544#(and (<= check_~n 1) (= check_~i~0 0))} is VALID [2022-04-08 10:39:44,737 INFO L290 TraceCheckUtils]: 58: Hoare triple {4544#(and (<= check_~n 1) (= check_~i~0 0))} #t~post10 := ~i~0;~i~0 := 1 + #t~post10;havoc #t~post10; {4549#(<= check_~n check_~i~0)} is VALID [2022-04-08 10:39:44,738 INFO L290 TraceCheckUtils]: 59: Hoare triple {4549#(<= check_~n check_~i~0)} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {4508#false} is VALID [2022-04-08 10:39:44,738 INFO L272 TraceCheckUtils]: 60: Hoare triple {4508#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {4508#false} is VALID [2022-04-08 10:39:44,738 INFO L290 TraceCheckUtils]: 61: Hoare triple {4508#false} ~cond := #in~cond; {4508#false} is VALID [2022-04-08 10:39:44,738 INFO L290 TraceCheckUtils]: 62: Hoare triple {4508#false} assume 0 == ~cond; {4508#false} is VALID [2022-04-08 10:39:44,738 INFO L290 TraceCheckUtils]: 63: Hoare triple {4508#false} assume !false; {4508#false} is VALID [2022-04-08 10:39:44,738 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 10:39:44,738 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:44,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1587477186] [2022-04-08 10:39:44,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1587477186] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:44,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [12491769] [2022-04-08 10:39:44,738 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:39:44,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:44,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:44,739 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:44,740 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 10:39:44,802 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:39:44,802 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:44,803 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 10:39:44,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,817 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:45,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {4507#true} call ULTIMATE.init(); {4507#true} is VALID [2022-04-08 10:39:45,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {4507#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {4507#true} is VALID [2022-04-08 10:39:45,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4507#true} {4507#true} #160#return; {4507#true} is VALID [2022-04-08 10:39:45,097 INFO L272 TraceCheckUtils]: 4: Hoare triple {4507#true} call #t~ret20 := main(); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {4507#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L272 TraceCheckUtils]: 6: Hoare triple {4507#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4507#true} {4507#true} #142#return; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L272 TraceCheckUtils]: 11: Hoare triple {4507#true} call #t~ret14 := is_pow2(~n~0); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 12: Hoare triple {4507#true} ~x := #in~x; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {4507#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {4507#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 15: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4507#true} {4507#true} #144#return; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 17: Hoare triple {4507#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L272 TraceCheckUtils]: 18: Hoare triple {4507#true} call assume_abort_if_not(#t~ret14); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:45,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4507#true} {4507#true} #146#return; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 23: Hoare triple {4507#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L272 TraceCheckUtils]: 24: Hoare triple {4507#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 25: Hoare triple {4507#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 26: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4507#true} {4507#true} #148#return; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 28: Hoare triple {4507#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L272 TraceCheckUtils]: 29: Hoare triple {4507#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 30: Hoare triple {4507#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 31: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4507#true} {4507#true} #150#return; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 33: Hoare triple {4507#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 34: Hoare triple {4507#true} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {4507#true} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L290 TraceCheckUtils]: 36: Hoare triple {4507#true} assume !(~i~1 < ~n~0); {4507#true} is VALID [2022-04-08 10:39:45,099 INFO L272 TraceCheckUtils]: 37: Hoare triple {4507#true} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {4507#true} is VALID [2022-04-08 10:39:45,108 INFO L290 TraceCheckUtils]: 38: Hoare triple {4507#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {4669#(and (<= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:39:45,109 INFO L290 TraceCheckUtils]: 39: Hoare triple {4669#(and (<= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} assume !(~space~0 < ~n); {4673#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:45,109 INFO L290 TraceCheckUtils]: 40: Hoare triple {4673#(<= |upsweep_#in~n| 1)} #res := ~space~0; {4673#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:45,110 INFO L290 TraceCheckUtils]: 41: Hoare triple {4673#(<= |upsweep_#in~n| 1)} assume true; {4673#(<= |upsweep_#in~n| 1)} is VALID [2022-04-08 10:39:45,110 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4673#(<= |upsweep_#in~n| 1)} {4507#true} #152#return; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:45,111 INFO L290 TraceCheckUtils]: 43: Hoare triple {4533#(<= main_~n~0 1)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:45,111 INFO L272 TraceCheckUtils]: 44: Hoare triple {4533#(<= main_~n~0 1)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {4507#true} is VALID [2022-04-08 10:39:45,111 INFO L290 TraceCheckUtils]: 45: Hoare triple {4507#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {4507#true} is VALID [2022-04-08 10:39:45,111 INFO L290 TraceCheckUtils]: 46: Hoare triple {4507#true} assume !(~space > 0); {4507#true} is VALID [2022-04-08 10:39:45,111 INFO L290 TraceCheckUtils]: 47: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,111 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4507#true} {4533#(<= main_~n~0 1)} #154#return; {4533#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:45,112 INFO L272 TraceCheckUtils]: 49: Hoare triple {4533#(<= main_~n~0 1)} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {4543#(<= |check_#in~n| 1)} is VALID [2022-04-08 10:39:45,113 INFO L290 TraceCheckUtils]: 50: Hoare triple {4543#(<= |check_#in~n| 1)} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} is VALID [2022-04-08 10:39:45,113 INFO L290 TraceCheckUtils]: 51: Hoare triple {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} is VALID [2022-04-08 10:39:45,113 INFO L272 TraceCheckUtils]: 52: Hoare triple {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {4507#true} is VALID [2022-04-08 10:39:45,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {4507#true} ~cond := #in~cond; {4507#true} is VALID [2022-04-08 10:39:45,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {4507#true} assume !(0 == ~cond); {4507#true} is VALID [2022-04-08 10:39:45,113 INFO L290 TraceCheckUtils]: 55: Hoare triple {4507#true} assume true; {4507#true} is VALID [2022-04-08 10:39:45,114 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4507#true} {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} #158#return; {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} is VALID [2022-04-08 10:39:45,114 INFO L290 TraceCheckUtils]: 57: Hoare triple {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} havoc #t~mem11;call #t~mem12 := read~int(~a0.base, ~a0.offset + 4 * ~i~0, 4);~sum~0 := ~sum~0 + #t~mem12;havoc #t~mem12; {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} is VALID [2022-04-08 10:39:45,114 INFO L290 TraceCheckUtils]: 58: Hoare triple {4707#(and (<= check_~n 1) (<= 0 check_~i~0))} #t~post10 := ~i~0;~i~0 := 1 + #t~post10;havoc #t~post10; {4732#(and (<= check_~n 1) (<= 1 check_~i~0))} is VALID [2022-04-08 10:39:45,115 INFO L290 TraceCheckUtils]: 59: Hoare triple {4732#(and (<= check_~n 1) (<= 1 check_~i~0))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {4508#false} is VALID [2022-04-08 10:39:45,115 INFO L272 TraceCheckUtils]: 60: Hoare triple {4508#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {4508#false} is VALID [2022-04-08 10:39:45,115 INFO L290 TraceCheckUtils]: 61: Hoare triple {4508#false} ~cond := #in~cond; {4508#false} is VALID [2022-04-08 10:39:45,115 INFO L290 TraceCheckUtils]: 62: Hoare triple {4508#false} assume 0 == ~cond; {4508#false} is VALID [2022-04-08 10:39:45,115 INFO L290 TraceCheckUtils]: 63: Hoare triple {4508#false} assume !false; {4508#false} is VALID [2022-04-08 10:39:45,115 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:39:45,115 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:39:45,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [12491769] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:45,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:39:45,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [10] total 14 [2022-04-08 10:39:45,116 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:45,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1593674453] [2022-04-08 10:39:45,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1593674453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:45,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:45,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:39:45,116 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1688063134] [2022-04-08 10:39:45,116 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:45,118 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 4 states have call successors, (12), 3 states have call predecessors, (12), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-08 10:39:45,118 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:45,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 4 states have call successors, (12), 3 states have call predecessors, (12), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:39:45,155 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:45,155 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:39:45,156 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:45,156 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:39:45,156 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=153, Unknown=0, NotChecked=0, Total=182 [2022-04-08 10:39:45,156 INFO L87 Difference]: Start difference. First operand 81 states and 95 transitions. Second operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 4 states have call successors, (12), 3 states have call predecessors, (12), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:39:58,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:58,622 INFO L93 Difference]: Finished difference Result 101 states and 117 transitions. [2022-04-08 10:39:58,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:39:58,623 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 4 states have call successors, (12), 3 states have call predecessors, (12), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-08 10:39:58,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:58,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 4 states have call successors, (12), 3 states have call predecessors, (12), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:39:58,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-08 10:39:58,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 4 states have call successors, (12), 3 states have call predecessors, (12), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:39:58,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-08 10:39:58,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 94 transitions. [2022-04-08 10:39:58,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:58,698 INFO L225 Difference]: With dead ends: 101 [2022-04-08 10:39:58,698 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 10:39:58,699 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=228, Unknown=0, NotChecked=0, Total=272 [2022-04-08 10:39:58,699 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 9 mSDsluCounter, 312 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 368 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:58,700 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 368 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:39:58,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 10:39:58,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 71. [2022-04-08 10:39:58,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:58,751 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 71 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 49 states have internal predecessors, (56), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:39:58,751 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 71 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 49 states have internal predecessors, (56), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:39:58,751 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 71 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 49 states have internal predecessors, (56), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:39:58,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:58,753 INFO L93 Difference]: Finished difference Result 79 states and 91 transitions. [2022-04-08 10:39:58,753 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 91 transitions. [2022-04-08 10:39:58,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:58,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:58,754 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 49 states have internal predecessors, (56), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) Second operand 79 states. [2022-04-08 10:39:58,754 INFO L87 Difference]: Start difference. First operand has 71 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 49 states have internal predecessors, (56), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) Second operand 79 states. [2022-04-08 10:39:58,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:58,755 INFO L93 Difference]: Finished difference Result 79 states and 91 transitions. [2022-04-08 10:39:58,755 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 91 transitions. [2022-04-08 10:39:58,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:58,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:58,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:58,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:58,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 49 states have internal predecessors, (56), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:39:58,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 80 transitions. [2022-04-08 10:39:58,757 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 80 transitions. Word has length 64 [2022-04-08 10:39:58,757 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:58,757 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 80 transitions. [2022-04-08 10:39:58,757 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 4 states have call successors, (12), 3 states have call predecessors, (12), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:39:58,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 80 transitions. [2022-04-08 10:39:58,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:58,866 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2022-04-08 10:39:58,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 10:39:58,866 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:58,866 INFO L499 BasicCegarLoop]: trace histogram [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, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:39:58,883 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:59,080 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:59,080 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:59,081 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:59,081 INFO L85 PathProgramCache]: Analyzing trace with hash -1758641907, now seen corresponding path program 1 times [2022-04-08 10:39:59,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:59,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [262270479] [2022-04-08 10:39:59,081 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:39:59,081 INFO L85 PathProgramCache]: Analyzing trace with hash -1758641907, now seen corresponding path program 2 times [2022-04-08 10:39:59,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:59,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [666498080] [2022-04-08 10:39:59,081 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:59,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:59,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,140 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:59,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,143 INFO L290 TraceCheckUtils]: 0: Hoare triple {5298#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {5255#true} is VALID [2022-04-08 10:39:59,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,143 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5255#true} {5255#true} #160#return; {5255#true} is VALID [2022-04-08 10:39:59,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:39:59,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,146 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} #142#return; {5255#true} is VALID [2022-04-08 10:39:59,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:39:59,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} ~x := #in~x; {5255#true} is VALID [2022-04-08 10:39:59,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {5255#true} is VALID [2022-04-08 10:39:59,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {5255#true} is VALID [2022-04-08 10:39:59,149 INFO L290 TraceCheckUtils]: 3: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,149 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5255#true} {5255#true} #144#return; {5255#true} is VALID [2022-04-08 10:39:59,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:39:59,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,151 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} #146#return; {5255#true} is VALID [2022-04-08 10:39:59,166 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:39:59,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,169 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5255#true} {5255#true} #148#return; {5255#true} is VALID [2022-04-08 10:39:59,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:39:59,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,175 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5255#true} {5255#true} #150#return; {5255#true} is VALID [2022-04-08 10:39:59,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-08 10:39:59,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,223 INFO L290 TraceCheckUtils]: 0: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {5300#(and (= |upsweep_#in~n| upsweep_~n) (<= 1 upsweep_~space~0))} is VALID [2022-04-08 10:39:59,223 INFO L290 TraceCheckUtils]: 1: Hoare triple {5300#(and (= |upsweep_#in~n| upsweep_~n) (<= 1 upsweep_~space~0))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,224 INFO L290 TraceCheckUtils]: 3: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} assume !(~left~0 < ~n); {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,225 INFO L290 TraceCheckUtils]: 4: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} ~space~0 := 2 * ~space~0; {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} assume !(~space~0 < ~n); {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,225 INFO L290 TraceCheckUtils]: 6: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} #res := ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,226 INFO L290 TraceCheckUtils]: 7: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume true; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,227 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {5302#(<= 2 |upsweep_#in~n|)} {5281#(<= main_~n~0 1)} #152#return; {5256#false} is VALID [2022-04-08 10:39:59,227 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-08 10:39:59,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,233 INFO L290 TraceCheckUtils]: 0: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5255#true} is VALID [2022-04-08 10:39:59,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {5255#true} is VALID [2022-04-08 10:39:59,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} assume !(~right~1 < ~n); {5255#true} is VALID [2022-04-08 10:39:59,233 INFO L290 TraceCheckUtils]: 3: Hoare triple {5255#true} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5255#true} is VALID [2022-04-08 10:39:59,233 INFO L290 TraceCheckUtils]: 4: Hoare triple {5255#true} assume !(~space > 0); {5255#true} is VALID [2022-04-08 10:39:59,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,234 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5255#true} {5256#false} #154#return; {5256#false} is VALID [2022-04-08 10:39:59,234 INFO L272 TraceCheckUtils]: 0: Hoare triple {5255#true} call ULTIMATE.init(); {5298#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:59,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {5298#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {5255#true} is VALID [2022-04-08 10:39:59,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} #160#return; {5255#true} is VALID [2022-04-08 10:39:59,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {5255#true} call #t~ret20 := main(); {5255#true} is VALID [2022-04-08 10:39:59,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {5255#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {5255#true} is VALID [2022-04-08 10:39:59,234 INFO L272 TraceCheckUtils]: 6: Hoare triple {5255#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5255#true} {5255#true} #142#return; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L272 TraceCheckUtils]: 11: Hoare triple {5255#true} call #t~ret14 := is_pow2(~n~0); {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 12: Hoare triple {5255#true} ~x := #in~x; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {5255#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {5255#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5255#true} {5255#true} #144#return; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {5255#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L272 TraceCheckUtils]: 18: Hoare triple {5255#true} call assume_abort_if_not(#t~ret14); {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5255#true} {5255#true} #146#return; {5255#true} is VALID [2022-04-08 10:39:59,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {5255#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,236 INFO L272 TraceCheckUtils]: 24: Hoare triple {5255#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {5299#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:59,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,236 INFO L290 TraceCheckUtils]: 26: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,236 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5255#true} {5255#true} #148#return; {5255#true} is VALID [2022-04-08 10:39:59,237 INFO L290 TraceCheckUtils]: 28: Hoare triple {5255#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,237 INFO L272 TraceCheckUtils]: 29: Hoare triple {5255#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {5299#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:59,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,238 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5255#true} {5255#true} #150#return; {5255#true} is VALID [2022-04-08 10:39:59,238 INFO L290 TraceCheckUtils]: 33: Hoare triple {5255#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {5279#(= main_~i~1 0)} is VALID [2022-04-08 10:39:59,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {5279#(= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {5279#(= main_~i~1 0)} is VALID [2022-04-08 10:39:59,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {5279#(= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {5280#(<= main_~i~1 1)} is VALID [2022-04-08 10:39:59,239 INFO L290 TraceCheckUtils]: 36: Hoare triple {5280#(<= main_~i~1 1)} assume !(~i~1 < ~n~0); {5281#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:59,240 INFO L272 TraceCheckUtils]: 37: Hoare triple {5281#(<= main_~n~0 1)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {5299#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:59,240 INFO L290 TraceCheckUtils]: 38: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {5300#(and (= |upsweep_#in~n| upsweep_~n) (<= 1 upsweep_~space~0))} is VALID [2022-04-08 10:39:59,241 INFO L290 TraceCheckUtils]: 39: Hoare triple {5300#(and (= |upsweep_#in~n| upsweep_~n) (<= 1 upsweep_~space~0))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,241 INFO L290 TraceCheckUtils]: 40: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,241 INFO L290 TraceCheckUtils]: 41: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} assume !(~left~0 < ~n); {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,242 INFO L290 TraceCheckUtils]: 42: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} ~space~0 := 2 * ~space~0; {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} is VALID [2022-04-08 10:39:59,242 INFO L290 TraceCheckUtils]: 43: Hoare triple {5301#(and (= |upsweep_#in~n| upsweep_~n) (<= 2 upsweep_~n))} assume !(~space~0 < ~n); {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} #res := ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume true; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,244 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5302#(<= 2 |upsweep_#in~n|)} {5281#(<= main_~n~0 1)} #152#return; {5256#false} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 47: Hoare triple {5256#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {5256#false} is VALID [2022-04-08 10:39:59,244 INFO L272 TraceCheckUtils]: 48: Hoare triple {5256#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {5299#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {5299#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5255#true} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 50: Hoare triple {5255#true} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {5255#true} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 51: Hoare triple {5255#true} assume !(~right~1 < ~n); {5255#true} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 52: Hoare triple {5255#true} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5255#true} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 53: Hoare triple {5255#true} assume !(~space > 0); {5255#true} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 54: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,244 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5255#true} {5256#false} #154#return; {5256#false} is VALID [2022-04-08 10:39:59,244 INFO L272 TraceCheckUtils]: 56: Hoare triple {5256#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {5256#false} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 57: Hoare triple {5256#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {5256#false} is VALID [2022-04-08 10:39:59,244 INFO L290 TraceCheckUtils]: 58: Hoare triple {5256#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {5256#false} is VALID [2022-04-08 10:39:59,244 INFO L272 TraceCheckUtils]: 59: Hoare triple {5256#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {5256#false} is VALID [2022-04-08 10:39:59,245 INFO L290 TraceCheckUtils]: 60: Hoare triple {5256#false} ~cond := #in~cond; {5256#false} is VALID [2022-04-08 10:39:59,245 INFO L290 TraceCheckUtils]: 61: Hoare triple {5256#false} assume 0 == ~cond; {5256#false} is VALID [2022-04-08 10:39:59,245 INFO L290 TraceCheckUtils]: 62: Hoare triple {5256#false} assume !false; {5256#false} is VALID [2022-04-08 10:39:59,245 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-08 10:39:59,245 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:59,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [666498080] [2022-04-08 10:39:59,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [666498080] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:59,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1502038602] [2022-04-08 10:39:59,245 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:39:59,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:59,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:59,248 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:59,248 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 10:39:59,317 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:39:59,318 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:59,319 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:39:59,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:59,332 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:59,538 INFO L272 TraceCheckUtils]: 0: Hoare triple {5255#true} call ULTIMATE.init(); {5255#true} is VALID [2022-04-08 10:39:59,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {5255#true} is VALID [2022-04-08 10:39:59,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} #160#return; {5255#true} is VALID [2022-04-08 10:39:59,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {5255#true} call #t~ret20 := main(); {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 5: Hoare triple {5255#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L272 TraceCheckUtils]: 6: Hoare triple {5255#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 7: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 8: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5255#true} {5255#true} #142#return; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L272 TraceCheckUtils]: 11: Hoare triple {5255#true} call #t~ret14 := is_pow2(~n~0); {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 12: Hoare triple {5255#true} ~x := #in~x; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {5255#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {5255#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5255#true} {5255#true} #144#return; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {5255#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L272 TraceCheckUtils]: 18: Hoare triple {5255#true} call assume_abort_if_not(#t~ret14); {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 19: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L290 TraceCheckUtils]: 21: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5255#true} {5255#true} #146#return; {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L290 TraceCheckUtils]: 23: Hoare triple {5255#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L272 TraceCheckUtils]: 24: Hoare triple {5255#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L290 TraceCheckUtils]: 25: Hoare triple {5255#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L290 TraceCheckUtils]: 26: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5255#true} {5255#true} #148#return; {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L290 TraceCheckUtils]: 28: Hoare triple {5255#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,540 INFO L272 TraceCheckUtils]: 29: Hoare triple {5255#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,545 INFO L290 TraceCheckUtils]: 30: Hoare triple {5255#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,545 INFO L290 TraceCheckUtils]: 31: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,545 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5255#true} {5255#true} #150#return; {5255#true} is VALID [2022-04-08 10:39:59,545 INFO L290 TraceCheckUtils]: 33: Hoare triple {5255#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {5405#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:59,546 INFO L290 TraceCheckUtils]: 34: Hoare triple {5405#(<= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {5405#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:59,546 INFO L290 TraceCheckUtils]: 35: Hoare triple {5405#(<= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {5280#(<= main_~i~1 1)} is VALID [2022-04-08 10:39:59,547 INFO L290 TraceCheckUtils]: 36: Hoare triple {5280#(<= main_~i~1 1)} assume !(~i~1 < ~n~0); {5281#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:59,547 INFO L272 TraceCheckUtils]: 37: Hoare triple {5281#(<= main_~n~0 1)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,547 INFO L290 TraceCheckUtils]: 38: Hoare triple {5255#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {5421#(and (<= upsweep_~n |upsweep_#in~n|) (<= 1 upsweep_~space~0))} is VALID [2022-04-08 10:39:59,548 INFO L290 TraceCheckUtils]: 39: Hoare triple {5421#(and (<= upsweep_~n |upsweep_#in~n|) (<= 1 upsweep_~space~0))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,548 INFO L290 TraceCheckUtils]: 40: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,548 INFO L290 TraceCheckUtils]: 41: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume !(~left~0 < ~n); {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} ~space~0 := 2 * ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume !(~space~0 < ~n); {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} #res := ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,550 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume true; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,551 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5302#(<= 2 |upsweep_#in~n|)} {5281#(<= main_~n~0 1)} #152#return; {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 47: Hoare triple {5256#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L272 TraceCheckUtils]: 48: Hoare triple {5256#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 49: Hoare triple {5256#false} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 50: Hoare triple {5256#false} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 51: Hoare triple {5256#false} assume !(~right~1 < ~n); {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 52: Hoare triple {5256#false} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 53: Hoare triple {5256#false} assume !(~space > 0); {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 54: Hoare triple {5256#false} assume true; {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5256#false} {5256#false} #154#return; {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L272 TraceCheckUtils]: 56: Hoare triple {5256#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 57: Hoare triple {5256#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L290 TraceCheckUtils]: 58: Hoare triple {5256#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {5256#false} is VALID [2022-04-08 10:39:59,551 INFO L272 TraceCheckUtils]: 59: Hoare triple {5256#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {5256#false} is VALID [2022-04-08 10:39:59,552 INFO L290 TraceCheckUtils]: 60: Hoare triple {5256#false} ~cond := #in~cond; {5256#false} is VALID [2022-04-08 10:39:59,552 INFO L290 TraceCheckUtils]: 61: Hoare triple {5256#false} assume 0 == ~cond; {5256#false} is VALID [2022-04-08 10:39:59,552 INFO L290 TraceCheckUtils]: 62: Hoare triple {5256#false} assume !false; {5256#false} is VALID [2022-04-08 10:39:59,552 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-08 10:39:59,552 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:59,878 INFO L290 TraceCheckUtils]: 62: Hoare triple {5256#false} assume !false; {5256#false} is VALID [2022-04-08 10:39:59,878 INFO L290 TraceCheckUtils]: 61: Hoare triple {5256#false} assume 0 == ~cond; {5256#false} is VALID [2022-04-08 10:39:59,878 INFO L290 TraceCheckUtils]: 60: Hoare triple {5256#false} ~cond := #in~cond; {5256#false} is VALID [2022-04-08 10:39:59,878 INFO L272 TraceCheckUtils]: 59: Hoare triple {5256#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {5256#false} is VALID [2022-04-08 10:39:59,878 INFO L290 TraceCheckUtils]: 58: Hoare triple {5256#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {5256#false} is VALID [2022-04-08 10:39:59,878 INFO L290 TraceCheckUtils]: 57: Hoare triple {5256#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {5256#false} is VALID [2022-04-08 10:39:59,878 INFO L272 TraceCheckUtils]: 56: Hoare triple {5256#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {5256#false} is VALID [2022-04-08 10:39:59,878 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5255#true} {5256#false} #154#return; {5256#false} is VALID [2022-04-08 10:39:59,879 INFO L290 TraceCheckUtils]: 54: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,879 INFO L290 TraceCheckUtils]: 53: Hoare triple {5255#true} assume !(~space > 0); {5255#true} is VALID [2022-04-08 10:39:59,879 INFO L290 TraceCheckUtils]: 52: Hoare triple {5255#true} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5255#true} is VALID [2022-04-08 10:39:59,879 INFO L290 TraceCheckUtils]: 51: Hoare triple {5255#true} assume !(~right~1 < ~n); {5255#true} is VALID [2022-04-08 10:39:59,879 INFO L290 TraceCheckUtils]: 50: Hoare triple {5255#true} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {5255#true} is VALID [2022-04-08 10:39:59,879 INFO L290 TraceCheckUtils]: 49: Hoare triple {5255#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {5255#true} is VALID [2022-04-08 10:39:59,879 INFO L272 TraceCheckUtils]: 48: Hoare triple {5256#false} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {5255#true} is VALID [2022-04-08 10:39:59,879 INFO L290 TraceCheckUtils]: 47: Hoare triple {5256#false} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {5256#false} is VALID [2022-04-08 10:39:59,880 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5302#(<= 2 |upsweep_#in~n|)} {5281#(<= main_~n~0 1)} #152#return; {5256#false} is VALID [2022-04-08 10:39:59,880 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume true; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,880 INFO L290 TraceCheckUtils]: 44: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} #res := ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,881 INFO L290 TraceCheckUtils]: 43: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume !(~space~0 < ~n); {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,881 INFO L290 TraceCheckUtils]: 42: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} ~space~0 := 2 * ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,881 INFO L290 TraceCheckUtils]: 41: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume !(~left~0 < ~n); {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,881 INFO L290 TraceCheckUtils]: 40: Hoare triple {5302#(<= 2 |upsweep_#in~n|)} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {5566#(or (not (< upsweep_~space~0 upsweep_~n)) (<= 2 |upsweep_#in~n|))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {5302#(<= 2 |upsweep_#in~n|)} is VALID [2022-04-08 10:39:59,882 INFO L290 TraceCheckUtils]: 38: Hoare triple {5255#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {5566#(or (not (< upsweep_~space~0 upsweep_~n)) (<= 2 |upsweep_#in~n|))} is VALID [2022-04-08 10:39:59,882 INFO L272 TraceCheckUtils]: 37: Hoare triple {5281#(<= main_~n~0 1)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,883 INFO L290 TraceCheckUtils]: 36: Hoare triple {5280#(<= main_~i~1 1)} assume !(~i~1 < ~n~0); {5281#(<= main_~n~0 1)} is VALID [2022-04-08 10:39:59,883 INFO L290 TraceCheckUtils]: 35: Hoare triple {5405#(<= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {5280#(<= main_~i~1 1)} is VALID [2022-04-08 10:39:59,883 INFO L290 TraceCheckUtils]: 34: Hoare triple {5405#(<= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {5405#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 33: Hoare triple {5255#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {5405#(<= main_~i~1 0)} is VALID [2022-04-08 10:39:59,884 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5255#true} {5255#true} #150#return; {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 31: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 30: Hoare triple {5255#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L272 TraceCheckUtils]: 29: Hoare triple {5255#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 28: Hoare triple {5255#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5255#true} {5255#true} #148#return; {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 25: Hoare triple {5255#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L272 TraceCheckUtils]: 24: Hoare triple {5255#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {5255#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5255#true} {5255#true} #146#return; {5255#true} is VALID [2022-04-08 10:39:59,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L272 TraceCheckUtils]: 18: Hoare triple {5255#true} call assume_abort_if_not(#t~ret14); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 17: Hoare triple {5255#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5255#true} {5255#true} #144#return; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 15: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {5255#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {5255#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {5255#true} ~x := #in~x; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L272 TraceCheckUtils]: 11: Hoare triple {5255#true} call #t~ret14 := is_pow2(~n~0); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5255#true} {5255#true} #142#return; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {5255#true} assume !(0 == ~cond); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 7: Hoare triple {5255#true} ~cond := #in~cond; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L272 TraceCheckUtils]: 6: Hoare triple {5255#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {5255#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {5255#true} call #t~ret20 := main(); {5255#true} is VALID [2022-04-08 10:39:59,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} #160#return; {5255#true} is VALID [2022-04-08 10:39:59,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} assume true; {5255#true} is VALID [2022-04-08 10:39:59,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {5255#true} is VALID [2022-04-08 10:39:59,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {5255#true} call ULTIMATE.init(); {5255#true} is VALID [2022-04-08 10:39:59,886 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-08 10:39:59,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1502038602] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:39:59,886 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:39:59,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7, 7] total 13 [2022-04-08 10:39:59,886 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:59,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [262270479] [2022-04-08 10:39:59,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [262270479] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:59,886 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:59,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 10:39:59,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [878881545] [2022-04-08 10:39:59,887 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:59,887 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 4.333333333333333) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) Word has length 63 [2022-04-08 10:39:59,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:59,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 4.333333333333333) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:39:59,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:59,945 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 10:39:59,945 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:59,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 10:39:59,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:39:59,946 INFO L87 Difference]: Start difference. First operand 71 states and 80 transitions. Second operand has 10 states, 9 states have (on average 4.333333333333333) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:40:02,100 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:40:04,225 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.12s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:40:06,339 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:40:10,651 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:40:13,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:13,751 INFO L93 Difference]: Finished difference Result 107 states and 121 transitions. [2022-04-08 10:40:13,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 10:40:13,752 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 4.333333333333333) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) Word has length 63 [2022-04-08 10:40:13,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:40:13,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 4.333333333333333) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:40:13,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-04-08 10:40:13,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 4.333333333333333) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:40:13,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-04-08 10:40:13,755 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 96 transitions. [2022-04-08 10:40:13,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:13,831 INFO L225 Difference]: With dead ends: 107 [2022-04-08 10:40:13,831 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 10:40:13,831 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 136 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=81, Invalid=299, Unknown=0, NotChecked=0, Total=380 [2022-04-08 10:40:13,832 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 83 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 406 mSolverCounterSat, 42 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 452 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 406 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:40:13,833 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [86 Valid, 55 Invalid, 452 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 406 Invalid, 4 Unknown, 0 Unchecked, 8.7s Time] [2022-04-08 10:40:13,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 10:40:13,890 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 73. [2022-04-08 10:40:13,890 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:40:13,890 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 73 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:13,890 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 73 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:13,890 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 73 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:13,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:13,892 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2022-04-08 10:40:13,892 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2022-04-08 10:40:13,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:13,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:13,893 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) Second operand 75 states. [2022-04-08 10:40:13,893 INFO L87 Difference]: Start difference. First operand has 73 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) Second operand 75 states. [2022-04-08 10:40:13,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:13,894 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2022-04-08 10:40:13,894 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2022-04-08 10:40:13,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:13,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:13,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:40:13,894 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:40:13,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:13,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 82 transitions. [2022-04-08 10:40:13,898 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 82 transitions. Word has length 63 [2022-04-08 10:40:13,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:40:13,899 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 82 transitions. [2022-04-08 10:40:13,899 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 4.333333333333333) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 10:40:13,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 82 transitions. [2022-04-08 10:40:14,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:14,005 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2022-04-08 10:40:14,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-08 10:40:14,005 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:40:14,006 INFO L499 BasicCegarLoop]: trace histogram [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, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:40:14,022 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 10:40:14,207 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:14,207 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:40:14,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:40:14,208 INFO L85 PathProgramCache]: Analyzing trace with hash 1560433451, now seen corresponding path program 3 times [2022-04-08 10:40:14,208 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:14,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1847654012] [2022-04-08 10:40:14,210 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:40:14,210 INFO L85 PathProgramCache]: Analyzing trace with hash 1560433451, now seen corresponding path program 4 times [2022-04-08 10:40:14,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:40:14,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [472653395] [2022-04-08 10:40:14,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:40:14,210 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:40:14,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,305 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:40:14,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {6251#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {6208#true} is VALID [2022-04-08 10:40:14,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,308 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6208#true} {6208#true} #160#return; {6208#true} is VALID [2022-04-08 10:40:14,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:40:14,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,310 INFO L290 TraceCheckUtils]: 0: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:14,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:14,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6208#true} {6208#true} #142#return; {6208#true} is VALID [2022-04-08 10:40:14,311 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:40:14,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,319 INFO L290 TraceCheckUtils]: 0: Hoare triple {6208#true} ~x := #in~x; {6208#true} is VALID [2022-04-08 10:40:14,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {6208#true} is VALID [2022-04-08 10:40:14,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {6208#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {6208#true} is VALID [2022-04-08 10:40:14,319 INFO L290 TraceCheckUtils]: 3: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,319 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {6208#true} {6208#true} #144#return; {6208#true} is VALID [2022-04-08 10:40:14,319 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:40:14,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:14,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:14,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6208#true} {6208#true} #146#return; {6208#true} is VALID [2022-04-08 10:40:14,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:40:14,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:14,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,331 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6208#true} {6208#true} #148#return; {6208#true} is VALID [2022-04-08 10:40:14,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:40:14,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,334 INFO L290 TraceCheckUtils]: 0: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:14,335 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,335 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6208#true} {6208#true} #150#return; {6208#true} is VALID [2022-04-08 10:40:14,335 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-04-08 10:40:14,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {6208#true} is VALID [2022-04-08 10:40:14,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {6208#true} is VALID [2022-04-08 10:40:14,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {6208#true} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,343 INFO L290 TraceCheckUtils]: 3: Hoare triple {6208#true} assume !(~left~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:14,343 INFO L290 TraceCheckUtils]: 4: Hoare triple {6208#true} ~space~0 := 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {6208#true} assume !(~space~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:14,343 INFO L290 TraceCheckUtils]: 6: Hoare triple {6208#true} #res := ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,343 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {6208#true} {6234#(<= 2 main_~n~0)} #152#return; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 10:40:14,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6253#(<= |downsweep_#in~n| downsweep_~n)} is VALID [2022-04-08 10:40:14,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {6253#(<= |downsweep_#in~n| downsweep_~n)} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {6254#(<= (+ downsweep_~right~1 |downsweep_#in~n| 1) (+ downsweep_~n (* 2 downsweep_~space)))} is VALID [2022-04-08 10:40:14,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {6254#(<= (+ downsweep_~right~1 |downsweep_#in~n| 1) (+ downsweep_~n (* 2 downsweep_~space)))} assume !(~right~1 < ~n); {6255#(<= (+ |downsweep_#in~n| 1) (* 2 downsweep_~space))} is VALID [2022-04-08 10:40:14,428 INFO L290 TraceCheckUtils]: 3: Hoare triple {6255#(<= (+ |downsweep_#in~n| 1) (* 2 downsweep_~space))} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6256#(<= |downsweep_#in~n| (+ (* downsweep_~space 4) 1))} is VALID [2022-04-08 10:40:14,429 INFO L290 TraceCheckUtils]: 4: Hoare triple {6256#(<= |downsweep_#in~n| (+ (* downsweep_~space 4) 1))} assume !(~space > 0); {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:14,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {6257#(<= |downsweep_#in~n| 1)} assume true; {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:14,430 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6257#(<= |downsweep_#in~n| 1)} {6234#(<= 2 main_~n~0)} #154#return; {6209#false} is VALID [2022-04-08 10:40:14,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {6208#true} call ULTIMATE.init(); {6251#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:40:14,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {6251#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {6208#true} is VALID [2022-04-08 10:40:14,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6208#true} {6208#true} #160#return; {6208#true} is VALID [2022-04-08 10:40:14,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {6208#true} call #t~ret20 := main(); {6208#true} is VALID [2022-04-08 10:40:14,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {6208#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {6208#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6208#true} {6208#true} #142#return; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L272 TraceCheckUtils]: 11: Hoare triple {6208#true} call #t~ret14 := is_pow2(~n~0); {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 12: Hoare triple {6208#true} ~x := #in~x; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {6208#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {6208#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6208#true} {6208#true} #144#return; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 17: Hoare triple {6208#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L272 TraceCheckUtils]: 18: Hoare triple {6208#true} call assume_abort_if_not(#t~ret14); {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,431 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6208#true} {6208#true} #146#return; {6208#true} is VALID [2022-04-08 10:40:14,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {6208#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:14,432 INFO L272 TraceCheckUtils]: 24: Hoare triple {6208#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {6252#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:14,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:14,432 INFO L290 TraceCheckUtils]: 26: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,432 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6208#true} {6208#true} #148#return; {6208#true} is VALID [2022-04-08 10:40:14,432 INFO L290 TraceCheckUtils]: 28: Hoare triple {6208#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:14,433 INFO L272 TraceCheckUtils]: 29: Hoare triple {6208#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {6252#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:14,433 INFO L290 TraceCheckUtils]: 30: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:14,433 INFO L290 TraceCheckUtils]: 31: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,433 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6208#true} {6208#true} #150#return; {6208#true} is VALID [2022-04-08 10:40:14,434 INFO L290 TraceCheckUtils]: 33: Hoare triple {6208#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {6232#(= main_~i~1 0)} is VALID [2022-04-08 10:40:14,434 INFO L290 TraceCheckUtils]: 34: Hoare triple {6232#(= main_~i~1 0)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {6232#(= main_~i~1 0)} is VALID [2022-04-08 10:40:14,434 INFO L290 TraceCheckUtils]: 35: Hoare triple {6232#(= main_~i~1 0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {6233#(<= 1 main_~i~1)} is VALID [2022-04-08 10:40:14,435 INFO L290 TraceCheckUtils]: 36: Hoare triple {6233#(<= 1 main_~i~1)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,435 INFO L290 TraceCheckUtils]: 37: Hoare triple {6234#(<= 2 main_~n~0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {6234#(<= 2 main_~n~0)} assume !(~i~1 < ~n~0); {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,436 INFO L272 TraceCheckUtils]: 39: Hoare triple {6234#(<= 2 main_~n~0)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {6252#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:14,436 INFO L290 TraceCheckUtils]: 40: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {6208#true} is VALID [2022-04-08 10:40:14,436 INFO L290 TraceCheckUtils]: 41: Hoare triple {6208#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {6208#true} is VALID [2022-04-08 10:40:14,436 INFO L290 TraceCheckUtils]: 42: Hoare triple {6208#true} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,436 INFO L290 TraceCheckUtils]: 43: Hoare triple {6208#true} assume !(~left~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:14,436 INFO L290 TraceCheckUtils]: 44: Hoare triple {6208#true} ~space~0 := 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,436 INFO L290 TraceCheckUtils]: 45: Hoare triple {6208#true} assume !(~space~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:14,436 INFO L290 TraceCheckUtils]: 46: Hoare triple {6208#true} #res := ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,437 INFO L290 TraceCheckUtils]: 47: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,437 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6208#true} {6234#(<= 2 main_~n~0)} #152#return; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,437 INFO L290 TraceCheckUtils]: 49: Hoare triple {6234#(<= 2 main_~n~0)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,438 INFO L272 TraceCheckUtils]: 50: Hoare triple {6234#(<= 2 main_~n~0)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {6252#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:14,439 INFO L290 TraceCheckUtils]: 51: Hoare triple {6252#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6253#(<= |downsweep_#in~n| downsweep_~n)} is VALID [2022-04-08 10:40:14,439 INFO L290 TraceCheckUtils]: 52: Hoare triple {6253#(<= |downsweep_#in~n| downsweep_~n)} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {6254#(<= (+ downsweep_~right~1 |downsweep_#in~n| 1) (+ downsweep_~n (* 2 downsweep_~space)))} is VALID [2022-04-08 10:40:14,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {6254#(<= (+ downsweep_~right~1 |downsweep_#in~n| 1) (+ downsweep_~n (* 2 downsweep_~space)))} assume !(~right~1 < ~n); {6255#(<= (+ |downsweep_#in~n| 1) (* 2 downsweep_~space))} is VALID [2022-04-08 10:40:14,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {6255#(<= (+ |downsweep_#in~n| 1) (* 2 downsweep_~space))} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6256#(<= |downsweep_#in~n| (+ (* downsweep_~space 4) 1))} is VALID [2022-04-08 10:40:14,441 INFO L290 TraceCheckUtils]: 55: Hoare triple {6256#(<= |downsweep_#in~n| (+ (* downsweep_~space 4) 1))} assume !(~space > 0); {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:14,441 INFO L290 TraceCheckUtils]: 56: Hoare triple {6257#(<= |downsweep_#in~n| 1)} assume true; {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:14,442 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {6257#(<= |downsweep_#in~n| 1)} {6234#(<= 2 main_~n~0)} #154#return; {6209#false} is VALID [2022-04-08 10:40:14,442 INFO L272 TraceCheckUtils]: 58: Hoare triple {6209#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {6209#false} is VALID [2022-04-08 10:40:14,442 INFO L290 TraceCheckUtils]: 59: Hoare triple {6209#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {6209#false} is VALID [2022-04-08 10:40:14,442 INFO L290 TraceCheckUtils]: 60: Hoare triple {6209#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {6209#false} is VALID [2022-04-08 10:40:14,442 INFO L272 TraceCheckUtils]: 61: Hoare triple {6209#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {6209#false} is VALID [2022-04-08 10:40:14,442 INFO L290 TraceCheckUtils]: 62: Hoare triple {6209#false} ~cond := #in~cond; {6209#false} is VALID [2022-04-08 10:40:14,442 INFO L290 TraceCheckUtils]: 63: Hoare triple {6209#false} assume 0 == ~cond; {6209#false} is VALID [2022-04-08 10:40:14,442 INFO L290 TraceCheckUtils]: 64: Hoare triple {6209#false} assume !false; {6209#false} is VALID [2022-04-08 10:40:14,443 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-08 10:40:14,443 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:40:14,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [472653395] [2022-04-08 10:40:14,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [472653395] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:40:14,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [436744007] [2022-04-08 10:40:14,443 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:40:14,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:14,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:40:14,444 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:40:14,445 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 10:40:14,516 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:40:14,516 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:40:14,518 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 10:40:14,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:14,533 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:40:14,966 INFO L272 TraceCheckUtils]: 0: Hoare triple {6208#true} call ULTIMATE.init(); {6208#true} is VALID [2022-04-08 10:40:14,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6208#true} {6208#true} #160#return; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {6208#true} call #t~ret20 := main(); {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {6208#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L272 TraceCheckUtils]: 6: Hoare triple {6208#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 8: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6208#true} {6208#true} #142#return; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L272 TraceCheckUtils]: 11: Hoare triple {6208#true} call #t~ret14 := is_pow2(~n~0); {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {6208#true} ~x := #in~x; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {6208#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {6208#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6208#true} {6208#true} #144#return; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L290 TraceCheckUtils]: 17: Hoare triple {6208#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {6208#true} is VALID [2022-04-08 10:40:14,967 INFO L272 TraceCheckUtils]: 18: Hoare triple {6208#true} call assume_abort_if_not(#t~ret14); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 19: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 20: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 21: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6208#true} {6208#true} #146#return; {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {6208#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L272 TraceCheckUtils]: 24: Hoare triple {6208#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {6208#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 26: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6208#true} {6208#true} #148#return; {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 28: Hoare triple {6208#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L272 TraceCheckUtils]: 29: Hoare triple {6208#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 30: Hoare triple {6208#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,968 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6208#true} {6208#true} #150#return; {6208#true} is VALID [2022-04-08 10:40:14,969 INFO L290 TraceCheckUtils]: 33: Hoare triple {6208#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {6360#(<= 0 main_~i~1)} is VALID [2022-04-08 10:40:14,969 INFO L290 TraceCheckUtils]: 34: Hoare triple {6360#(<= 0 main_~i~1)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {6360#(<= 0 main_~i~1)} is VALID [2022-04-08 10:40:14,969 INFO L290 TraceCheckUtils]: 35: Hoare triple {6360#(<= 0 main_~i~1)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {6233#(<= 1 main_~i~1)} is VALID [2022-04-08 10:40:14,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {6233#(<= 1 main_~i~1)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,970 INFO L290 TraceCheckUtils]: 37: Hoare triple {6234#(<= 2 main_~n~0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 38: Hoare triple {6234#(<= 2 main_~n~0)} assume !(~i~1 < ~n~0); {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,971 INFO L272 TraceCheckUtils]: 39: Hoare triple {6234#(<= 2 main_~n~0)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 40: Hoare triple {6208#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 41: Hoare triple {6208#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 42: Hoare triple {6208#true} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 43: Hoare triple {6208#true} assume !(~left~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 44: Hoare triple {6208#true} ~space~0 := 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 45: Hoare triple {6208#true} assume !(~space~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 46: Hoare triple {6208#true} #res := ~space~0; {6208#true} is VALID [2022-04-08 10:40:14,971 INFO L290 TraceCheckUtils]: 47: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:14,972 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6208#true} {6234#(<= 2 main_~n~0)} #152#return; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,972 INFO L290 TraceCheckUtils]: 49: Hoare triple {6234#(<= 2 main_~n~0)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:14,972 INFO L272 TraceCheckUtils]: 50: Hoare triple {6234#(<= 2 main_~n~0)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {6208#true} is VALID [2022-04-08 10:40:14,972 INFO L290 TraceCheckUtils]: 51: Hoare triple {6208#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6253#(<= |downsweep_#in~n| downsweep_~n)} is VALID [2022-04-08 10:40:14,973 INFO L290 TraceCheckUtils]: 52: Hoare triple {6253#(<= |downsweep_#in~n| downsweep_~n)} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {6418#(and (<= |downsweep_#in~n| downsweep_~n) (<= (+ downsweep_~right~1 1) (* 2 downsweep_~space)) (< 0 downsweep_~space))} is VALID [2022-04-08 10:40:14,973 INFO L290 TraceCheckUtils]: 53: Hoare triple {6418#(and (<= |downsweep_#in~n| downsweep_~n) (<= (+ downsweep_~right~1 1) (* 2 downsweep_~space)) (< 0 downsweep_~space))} assume !(~right~1 < ~n); {6422#(and (<= (+ |downsweep_#in~n| 1) (* 2 downsweep_~space)) (< 0 downsweep_~space))} is VALID [2022-04-08 10:40:14,974 INFO L290 TraceCheckUtils]: 54: Hoare triple {6422#(and (<= (+ |downsweep_#in~n| 1) (* 2 downsweep_~space)) (< 0 downsweep_~space))} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6426#(and (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) |downsweep_#in~n|)) (- 2))) 1) (- 2)) (+ downsweep_~space 1)) (< 0 (+ downsweep_~space 1)))} is VALID [2022-04-08 10:40:14,975 INFO L290 TraceCheckUtils]: 55: Hoare triple {6426#(and (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) |downsweep_#in~n|)) (- 2))) 1) (- 2)) (+ downsweep_~space 1)) (< 0 (+ downsweep_~space 1)))} assume !(~space > 0); {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:14,975 INFO L290 TraceCheckUtils]: 56: Hoare triple {6257#(<= |downsweep_#in~n| 1)} assume true; {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:14,976 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {6257#(<= |downsweep_#in~n| 1)} {6234#(<= 2 main_~n~0)} #154#return; {6209#false} is VALID [2022-04-08 10:40:14,976 INFO L272 TraceCheckUtils]: 58: Hoare triple {6209#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {6209#false} is VALID [2022-04-08 10:40:14,976 INFO L290 TraceCheckUtils]: 59: Hoare triple {6209#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {6209#false} is VALID [2022-04-08 10:40:14,976 INFO L290 TraceCheckUtils]: 60: Hoare triple {6209#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {6209#false} is VALID [2022-04-08 10:40:14,976 INFO L272 TraceCheckUtils]: 61: Hoare triple {6209#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {6209#false} is VALID [2022-04-08 10:40:14,976 INFO L290 TraceCheckUtils]: 62: Hoare triple {6209#false} ~cond := #in~cond; {6209#false} is VALID [2022-04-08 10:40:14,976 INFO L290 TraceCheckUtils]: 63: Hoare triple {6209#false} assume 0 == ~cond; {6209#false} is VALID [2022-04-08 10:40:14,976 INFO L290 TraceCheckUtils]: 64: Hoare triple {6209#false} assume !false; {6209#false} is VALID [2022-04-08 10:40:14,977 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-08 10:40:14,977 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:40:16,270 INFO L290 TraceCheckUtils]: 64: Hoare triple {6209#false} assume !false; {6209#false} is VALID [2022-04-08 10:40:16,270 INFO L290 TraceCheckUtils]: 63: Hoare triple {6209#false} assume 0 == ~cond; {6209#false} is VALID [2022-04-08 10:40:16,271 INFO L290 TraceCheckUtils]: 62: Hoare triple {6209#false} ~cond := #in~cond; {6209#false} is VALID [2022-04-08 10:40:16,271 INFO L272 TraceCheckUtils]: 61: Hoare triple {6209#false} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {6209#false} is VALID [2022-04-08 10:40:16,271 INFO L290 TraceCheckUtils]: 60: Hoare triple {6209#false} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {6209#false} is VALID [2022-04-08 10:40:16,271 INFO L290 TraceCheckUtils]: 59: Hoare triple {6209#false} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {6209#false} is VALID [2022-04-08 10:40:16,271 INFO L272 TraceCheckUtils]: 58: Hoare triple {6209#false} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {6209#false} is VALID [2022-04-08 10:40:16,272 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {6257#(<= |downsweep_#in~n| 1)} {6234#(<= 2 main_~n~0)} #154#return; {6209#false} is VALID [2022-04-08 10:40:16,272 INFO L290 TraceCheckUtils]: 56: Hoare triple {6257#(<= |downsweep_#in~n| 1)} assume true; {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:16,272 INFO L290 TraceCheckUtils]: 55: Hoare triple {6487#(or (<= |downsweep_#in~n| 1) (< 0 downsweep_~space))} assume !(~space > 0); {6257#(<= |downsweep_#in~n| 1)} is VALID [2022-04-08 10:40:16,273 INFO L290 TraceCheckUtils]: 54: Hoare triple {6491#(or (< 0 (div downsweep_~space 2)) (<= |downsweep_#in~n| 1))} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6487#(or (<= |downsweep_#in~n| 1) (< 0 downsweep_~space))} is VALID [2022-04-08 10:40:16,273 INFO L290 TraceCheckUtils]: 53: Hoare triple {6495#(or (< 0 (div downsweep_~space 2)) (<= |downsweep_#in~n| 1) (< downsweep_~right~1 downsweep_~n))} assume !(~right~1 < ~n); {6491#(or (< 0 (div downsweep_~space 2)) (<= |downsweep_#in~n| 1))} is VALID [2022-04-08 10:40:16,274 INFO L290 TraceCheckUtils]: 52: Hoare triple {6499#(or (<= 0 (div (+ (- 1) (div downsweep_~n 2)) 2)) (<= |downsweep_#in~n| 1))} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {6495#(or (< 0 (div downsweep_~space 2)) (<= |downsweep_#in~n| 1) (< downsweep_~right~1 downsweep_~n))} is VALID [2022-04-08 10:40:16,275 INFO L290 TraceCheckUtils]: 51: Hoare triple {6208#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {6499#(or (<= 0 (div (+ (- 1) (div downsweep_~n 2)) 2)) (<= |downsweep_#in~n| 1))} is VALID [2022-04-08 10:40:16,275 INFO L272 TraceCheckUtils]: 50: Hoare triple {6234#(<= 2 main_~n~0)} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {6208#true} is VALID [2022-04-08 10:40:16,275 INFO L290 TraceCheckUtils]: 49: Hoare triple {6234#(<= 2 main_~n~0)} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:16,276 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6208#true} {6234#(<= 2 main_~n~0)} #152#return; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 47: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 46: Hoare triple {6208#true} #res := ~space~0; {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 45: Hoare triple {6208#true} assume !(~space~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 44: Hoare triple {6208#true} ~space~0 := 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 43: Hoare triple {6208#true} assume !(~left~0 < ~n); {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 42: Hoare triple {6208#true} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 41: Hoare triple {6208#true} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L290 TraceCheckUtils]: 40: Hoare triple {6208#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {6208#true} is VALID [2022-04-08 10:40:16,276 INFO L272 TraceCheckUtils]: 39: Hoare triple {6234#(<= 2 main_~n~0)} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {6208#true} is VALID [2022-04-08 10:40:16,277 INFO L290 TraceCheckUtils]: 38: Hoare triple {6234#(<= 2 main_~n~0)} assume !(~i~1 < ~n~0); {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:16,277 INFO L290 TraceCheckUtils]: 37: Hoare triple {6234#(<= 2 main_~n~0)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:16,277 INFO L290 TraceCheckUtils]: 36: Hoare triple {6233#(<= 1 main_~i~1)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {6234#(<= 2 main_~n~0)} is VALID [2022-04-08 10:40:16,278 INFO L290 TraceCheckUtils]: 35: Hoare triple {6360#(<= 0 main_~i~1)} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {6233#(<= 1 main_~i~1)} is VALID [2022-04-08 10:40:16,278 INFO L290 TraceCheckUtils]: 34: Hoare triple {6360#(<= 0 main_~i~1)} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {6360#(<= 0 main_~i~1)} is VALID [2022-04-08 10:40:16,278 INFO L290 TraceCheckUtils]: 33: Hoare triple {6208#true} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {6360#(<= 0 main_~i~1)} is VALID [2022-04-08 10:40:16,278 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6208#true} {6208#true} #150#return; {6208#true} is VALID [2022-04-08 10:40:16,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 30: Hoare triple {6208#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L272 TraceCheckUtils]: 29: Hoare triple {6208#true} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 28: Hoare triple {6208#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6208#true} {6208#true} #148#return; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {6208#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L272 TraceCheckUtils]: 24: Hoare triple {6208#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {6208#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6208#true} {6208#true} #146#return; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 21: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 20: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 19: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L272 TraceCheckUtils]: 18: Hoare triple {6208#true} call assume_abort_if_not(#t~ret14); {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 17: Hoare triple {6208#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6208#true} {6208#true} #144#return; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 15: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:16,279 INFO L290 TraceCheckUtils]: 14: Hoare triple {6208#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 13: Hoare triple {6208#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {6208#true} ~x := #in~x; {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L272 TraceCheckUtils]: 11: Hoare triple {6208#true} call #t~ret14 := is_pow2(~n~0); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6208#true} {6208#true} #142#return; {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {6208#true} assume !(0 == ~cond); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {6208#true} ~cond := #in~cond; {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L272 TraceCheckUtils]: 6: Hoare triple {6208#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {6208#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {6208#true} call #t~ret20 := main(); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6208#true} {6208#true} #160#return; {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {6208#true} assume true; {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {6208#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {6208#true} call ULTIMATE.init(); {6208#true} is VALID [2022-04-08 10:40:16,280 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-08 10:40:16,281 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [436744007] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:40:16,281 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:40:16,281 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 10] total 20 [2022-04-08 10:40:16,281 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:40:16,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1847654012] [2022-04-08 10:40:16,281 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1847654012] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:40:16,281 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:40:16,281 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 10:40:16,281 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [790873007] [2022-04-08 10:40:16,281 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:40:16,282 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 65 [2022-04-08 10:40:16,282 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:40:16,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:40:16,325 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:16,326 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 10:40:16,326 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:16,326 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 10:40:16,326 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2022-04-08 10:40:16,326 INFO L87 Difference]: Start difference. First operand 73 states and 82 transitions. Second operand has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:40:20,683 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:40:31,442 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 10:40:37,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:37,307 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-08 10:40:37,307 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 10:40:37,307 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 65 [2022-04-08 10:40:37,307 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:40:37,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:40:37,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 95 transitions. [2022-04-08 10:40:37,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:40:37,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 95 transitions. [2022-04-08 10:40:37,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 95 transitions. [2022-04-08 10:40:37,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:37,411 INFO L225 Difference]: With dead ends: 95 [2022-04-08 10:40:37,411 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 10:40:37,411 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 166 GetRequests, 133 SyntacticMatches, 4 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 116 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=158, Invalid=772, Unknown=0, NotChecked=0, Total=930 [2022-04-08 10:40:37,411 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 83 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 602 mSolverCounterSat, 43 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 647 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 602 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:40:37,412 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 62 Invalid, 647 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 602 Invalid, 2 Unknown, 0 Unchecked, 5.0s Time] [2022-04-08 10:40:37,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 10:40:37,507 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 76. [2022-04-08 10:40:37,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:40:37,507 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 76 states, 53 states have (on average 1.169811320754717) internal successors, (62), 54 states have internal predecessors, (62), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:37,507 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 76 states, 53 states have (on average 1.169811320754717) internal successors, (62), 54 states have internal predecessors, (62), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:37,509 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 76 states, 53 states have (on average 1.169811320754717) internal successors, (62), 54 states have internal predecessors, (62), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:37,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:37,512 INFO L93 Difference]: Finished difference Result 81 states and 93 transitions. [2022-04-08 10:40:37,512 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 93 transitions. [2022-04-08 10:40:37,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:37,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:37,512 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 53 states have (on average 1.169811320754717) internal successors, (62), 54 states have internal predecessors, (62), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) Second operand 81 states. [2022-04-08 10:40:37,512 INFO L87 Difference]: Start difference. First operand has 76 states, 53 states have (on average 1.169811320754717) internal successors, (62), 54 states have internal predecessors, (62), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) Second operand 81 states. [2022-04-08 10:40:37,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:37,514 INFO L93 Difference]: Finished difference Result 81 states and 93 transitions. [2022-04-08 10:40:37,514 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 93 transitions. [2022-04-08 10:40:37,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:37,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:37,514 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:40:37,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:40:37,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 53 states have (on average 1.169811320754717) internal successors, (62), 54 states have internal predecessors, (62), 13 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-08 10:40:37,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 86 transitions. [2022-04-08 10:40:37,515 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 86 transitions. Word has length 65 [2022-04-08 10:40:37,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:40:37,515 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 86 transitions. [2022-04-08 10:40:37,515 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 10:40:37,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 86 transitions. [2022-04-08 10:40:37,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:37,637 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 86 transitions. [2022-04-08 10:40:37,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-08 10:40:37,637 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:40:37,637 INFO L499 BasicCegarLoop]: trace histogram [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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:40:37,653 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 10:40:37,838 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:37,838 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:40:37,838 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:40:37,838 INFO L85 PathProgramCache]: Analyzing trace with hash -1084413588, now seen corresponding path program 1 times [2022-04-08 10:40:37,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:37,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1695178903] [2022-04-08 10:40:37,839 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:40:37,840 INFO L85 PathProgramCache]: Analyzing trace with hash -1084413588, now seen corresponding path program 2 times [2022-04-08 10:40:37,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:40:37,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [629689632] [2022-04-08 10:40:37,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:40:37,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:40:37,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,611 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:40:38,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,621 INFO L290 TraceCheckUtils]: 0: Hoare triple {7237#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {7182#true} is VALID [2022-04-08 10:40:38,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:38,621 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7182#true} {7182#true} #160#return; {7182#true} is VALID [2022-04-08 10:40:38,621 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:40:38,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {7182#true} ~cond := #in~cond; {7182#true} is VALID [2022-04-08 10:40:38,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {7182#true} assume !(0 == ~cond); {7182#true} is VALID [2022-04-08 10:40:38,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:38,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7182#true} {7182#true} #142#return; {7182#true} is VALID [2022-04-08 10:40:38,624 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:40:38,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,627 INFO L290 TraceCheckUtils]: 0: Hoare triple {7182#true} ~x := #in~x; {7182#true} is VALID [2022-04-08 10:40:38,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {7182#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {7182#true} is VALID [2022-04-08 10:40:38,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {7182#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {7182#true} is VALID [2022-04-08 10:40:38,627 INFO L290 TraceCheckUtils]: 3: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:38,627 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7182#true} {7182#true} #144#return; {7182#true} is VALID [2022-04-08 10:40:38,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:40:38,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {7182#true} ~cond := #in~cond; {7182#true} is VALID [2022-04-08 10:40:38,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {7182#true} assume !(0 == ~cond); {7182#true} is VALID [2022-04-08 10:40:38,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:38,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7182#true} {7182#true} #146#return; {7182#true} is VALID [2022-04-08 10:40:38,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:40:38,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:40:38,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:40:38,678 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {7200#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= |main_#t~malloc15.offset| 0))} #148#return; {7204#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= |main_#t~malloc15.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)))} is VALID [2022-04-08 10:40:38,678 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-08 10:40:38,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:40:38,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} assume true; {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:40:38,718 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} {7205#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} #150#return; {7205#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} is VALID [2022-04-08 10:40:38,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-04-08 10:40:38,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,853 INFO L290 TraceCheckUtils]: 0: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} is VALID [2022-04-08 10:40:38,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} is VALID [2022-04-08 10:40:38,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:38,855 INFO L290 TraceCheckUtils]: 3: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} assume !(~left~0 < ~n); {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:38,856 INFO L290 TraceCheckUtils]: 4: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} ~space~0 := 2 * ~space~0; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:38,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} assume !(~space~0 < ~n); {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:38,856 INFO L290 TraceCheckUtils]: 6: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} #res := ~space~0; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:38,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} assume true; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:38,858 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} {7212#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} #152#return; {7222#(and (<= main_~n~0 2) (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= main_~a~0.offset 0) (not (= main_~a~0.base main_~a0~0.base)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-08 10:40:38,859 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 10:40:38,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:44,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {7243#(and (= downsweep_~n |downsweep_#in~n|) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= |downsweep_#in~a.offset| downsweep_~a.offset)) (not (= |downsweep_#in~a.offset| 0))))} is VALID [2022-04-08 10:40:44,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {7243#(and (= downsweep_~n |downsweep_#in~n|) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= |downsweep_#in~a.offset| downsweep_~a.offset)) (not (= |downsweep_#in~a.offset| 0))))} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {7244#(and (or (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))) (and (= downsweep_~n |downsweep_#in~n|) (or (<= 1 downsweep_~right~1) (<= downsweep_~n (+ downsweep_~right~1 1))))) (or (and (= (select (select |#memory_int| downsweep_~a.base) (+ downsweep_~a.offset (* downsweep_~right~1 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= (+ |downsweep_#in~a.offset| 4) (+ downsweep_~a.offset (* downsweep_~right~1 4)))) (not (= |downsweep_#in~a.offset| 0)))) (not (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))))))} is VALID [2022-04-08 10:40:44,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {7244#(and (or (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))) (and (= downsweep_~n |downsweep_#in~n|) (or (<= 1 downsweep_~right~1) (<= downsweep_~n (+ downsweep_~right~1 1))))) (or (and (= (select (select |#memory_int| downsweep_~a.base) (+ downsweep_~a.offset (* downsweep_~right~1 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= (+ |downsweep_#in~a.offset| 4) (+ downsweep_~a.offset (* downsweep_~right~1 4)))) (not (= |downsweep_#in~a.offset| 0)))) (not (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))))))} assume !!(~right~1 < ~n);~left~1 := ~right~1 - ~space;call #t~mem7 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~a.base, ~a.offset + 4 * ~left~1, 4);call #t~mem9 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);call write~int(#t~mem8 + #t~mem9, ~a.base, ~a.offset + 4 * ~right~1, 4);havoc #t~mem8;havoc #t~mem9;call write~int(~temp~0, ~a.base, ~a.offset + 4 * ~left~1, 4);~right~1 := ~right~1 + 2 * ~space; {7245#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (and (<= 3 downsweep_~n) (= downsweep_~n |downsweep_#in~n|)) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,228 INFO L290 TraceCheckUtils]: 3: Hoare triple {7245#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (and (<= 3 downsweep_~n) (= downsweep_~n |downsweep_#in~n|)) (not (= |downsweep_#in~a.offset| 0)))} assume !(~right~1 < ~n); {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,231 INFO L290 TraceCheckUtils]: 4: Hoare triple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} assume !(~space > 0); {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,243 INFO L290 TraceCheckUtils]: 6: Hoare triple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} assume true; {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,281 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} {7222#(and (<= main_~n~0 2) (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= main_~a~0.offset 0) (not (= main_~a~0.base main_~a0~0.base)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} #154#return; {7231#(and (or (= (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) 0) (<= 4 (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (= main_~a~0.offset 0) (or (<= 4 (@diff (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= ((as const (Array Int Int)) 0) (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (or (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (<= 4 (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= main_~a~0.base main_~a0~0.base)) (= ((as const (Array Int Int)) 0) (store (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-08 10:40:44,283 INFO L272 TraceCheckUtils]: 0: Hoare triple {7182#true} call ULTIMATE.init(); {7237#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:40:44,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {7237#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {7182#true} is VALID [2022-04-08 10:40:44,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:44,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7182#true} {7182#true} #160#return; {7182#true} is VALID [2022-04-08 10:40:44,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {7182#true} call #t~ret20 := main(); {7182#true} is VALID [2022-04-08 10:40:44,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {7182#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {7182#true} is VALID [2022-04-08 10:40:44,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {7182#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {7182#true} is VALID [2022-04-08 10:40:44,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {7182#true} ~cond := #in~cond; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {7182#true} assume !(0 == ~cond); {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7182#true} {7182#true} #142#return; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L272 TraceCheckUtils]: 11: Hoare triple {7182#true} call #t~ret14 := is_pow2(~n~0); {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 12: Hoare triple {7182#true} ~x := #in~x; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {7182#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {7182#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7182#true} {7182#true} #144#return; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {7182#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L272 TraceCheckUtils]: 18: Hoare triple {7182#true} call assume_abort_if_not(#t~ret14); {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {7182#true} ~cond := #in~cond; {7182#true} is VALID [2022-04-08 10:40:44,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {7182#true} assume !(0 == ~cond); {7182#true} is VALID [2022-04-08 10:40:44,285 INFO L290 TraceCheckUtils]: 21: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:44,285 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7182#true} {7182#true} #146#return; {7182#true} is VALID [2022-04-08 10:40:44,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {7182#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {7200#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= |main_#t~malloc15.offset| 0))} is VALID [2022-04-08 10:40:44,287 INFO L272 TraceCheckUtils]: 24: Hoare triple {7200#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= |main_#t~malloc15.offset| 0))} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {7238#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:44,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:40:44,288 INFO L290 TraceCheckUtils]: 26: Hoare triple {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-08 10:40:44,289 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7239#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {7200#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= |main_#t~malloc15.offset| 0))} #148#return; {7204#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= |main_#t~malloc15.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)))} is VALID [2022-04-08 10:40:44,289 INFO L290 TraceCheckUtils]: 28: Hoare triple {7204#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= |main_#t~malloc15.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)))} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {7205#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} is VALID [2022-04-08 10:40:44,290 INFO L272 TraceCheckUtils]: 29: Hoare triple {7205#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {7238#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:44,291 INFO L290 TraceCheckUtils]: 30: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:40:44,291 INFO L290 TraceCheckUtils]: 31: Hoare triple {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} assume true; {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-08 10:40:44,292 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7240#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} {7205#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} #150#return; {7205#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} is VALID [2022-04-08 10:40:44,293 INFO L290 TraceCheckUtils]: 33: Hoare triple {7205#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {7209#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)) (= main_~i~1 0))} is VALID [2022-04-08 10:40:44,294 INFO L290 TraceCheckUtils]: 34: Hoare triple {7209#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)) (= main_~i~1 0))} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {7209#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)) (= main_~i~1 0))} is VALID [2022-04-08 10:40:44,294 INFO L290 TraceCheckUtils]: 35: Hoare triple {7209#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)) (= main_~i~1 0))} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {7210#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= main_~i~1 1) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:40:44,295 INFO L290 TraceCheckUtils]: 36: Hoare triple {7210#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= main_~i~1 1) (not (= main_~a~0.base main_~a0~0.base)))} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {7210#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= main_~i~1 1) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:40:44,296 INFO L290 TraceCheckUtils]: 37: Hoare triple {7210#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= main_~i~1 1) (not (= main_~a~0.base main_~a0~0.base)))} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {7211#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= main_~i~1 2) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:40:44,296 INFO L290 TraceCheckUtils]: 38: Hoare triple {7211#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= main_~i~1 2) (not (= main_~a~0.base main_~a0~0.base)))} assume !(~i~1 < ~n~0); {7212#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} is VALID [2022-04-08 10:40:44,297 INFO L272 TraceCheckUtils]: 39: Hoare triple {7212#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {7238#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:44,298 INFO L290 TraceCheckUtils]: 40: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} is VALID [2022-04-08 10:40:44,298 INFO L290 TraceCheckUtils]: 41: Hoare triple {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} is VALID [2022-04-08 10:40:44,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {7241#(and (= |#memory_int| |old(#memory_int)|) (= |upsweep_#in~a.base| upsweep_~a.base))} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:44,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} assume !(~left~0 < ~n); {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:44,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} ~space~0 := 2 * ~space~0; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:44,300 INFO L290 TraceCheckUtils]: 45: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} assume !(~space~0 < ~n); {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:44,301 INFO L290 TraceCheckUtils]: 46: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} #res := ~space~0; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:44,301 INFO L290 TraceCheckUtils]: 47: Hoare triple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} assume true; {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} is VALID [2022-04-08 10:40:44,303 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7242#(or (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |upsweep_#in~a.base|))) (= (select (select |#memory_int| |upsweep_#in~a.base|) (@diff (select |old(#memory_int)| |upsweep_#in~a.base|) (select |#memory_int| |upsweep_#in~a.base|))) 0))} {7212#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} #152#return; {7222#(and (<= main_~n~0 2) (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= main_~a~0.offset 0) (not (= main_~a~0.base main_~a0~0.base)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-08 10:40:44,304 INFO L290 TraceCheckUtils]: 49: Hoare triple {7222#(and (<= main_~n~0 2) (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= main_~a~0.offset 0) (not (= main_~a~0.base main_~a0~0.base)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {7222#(and (<= main_~n~0 2) (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= main_~a~0.offset 0) (not (= main_~a~0.base main_~a0~0.base)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-08 10:40:44,306 INFO L272 TraceCheckUtils]: 50: Hoare triple {7222#(and (<= main_~n~0 2) (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= main_~a~0.offset 0) (not (= main_~a~0.base main_~a0~0.base)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {7238#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-08 10:40:44,307 INFO L290 TraceCheckUtils]: 51: Hoare triple {7238#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {7243#(and (= downsweep_~n |downsweep_#in~n|) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= |downsweep_#in~a.offset| downsweep_~a.offset)) (not (= |downsweep_#in~a.offset| 0))))} is VALID [2022-04-08 10:40:44,309 INFO L290 TraceCheckUtils]: 52: Hoare triple {7243#(and (= downsweep_~n |downsweep_#in~n|) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= |downsweep_#in~a.offset| downsweep_~a.offset)) (not (= |downsweep_#in~a.offset| 0))))} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {7244#(and (or (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))) (and (= downsweep_~n |downsweep_#in~n|) (or (<= 1 downsweep_~right~1) (<= downsweep_~n (+ downsweep_~right~1 1))))) (or (and (= (select (select |#memory_int| downsweep_~a.base) (+ downsweep_~a.offset (* downsweep_~right~1 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= (+ |downsweep_#in~a.offset| 4) (+ downsweep_~a.offset (* downsweep_~right~1 4)))) (not (= |downsweep_#in~a.offset| 0)))) (not (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))))))} is VALID [2022-04-08 10:40:44,316 INFO L290 TraceCheckUtils]: 53: Hoare triple {7244#(and (or (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))) (and (= downsweep_~n |downsweep_#in~n|) (or (<= 1 downsweep_~right~1) (<= downsweep_~n (+ downsweep_~right~1 1))))) (or (and (= (select (select |#memory_int| downsweep_~a.base) (+ downsweep_~a.offset (* downsweep_~right~1 4))) 0) (or (and (= downsweep_~a.base |downsweep_#in~a.base|) (= (store (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (select (select |old(#memory_int)| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)))) (select |old(#memory_int)| downsweep_~a.base)) (<= (+ |downsweep_#in~a.offset| 4) (+ downsweep_~a.offset (* downsweep_~right~1 4)))) (not (= |downsweep_#in~a.offset| 0)))) (not (= (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) (+ downsweep_~a.offset (* downsweep_~right~1 4))))))} assume !!(~right~1 < ~n);~left~1 := ~right~1 - ~space;call #t~mem7 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~a.base, ~a.offset + 4 * ~left~1, 4);call #t~mem9 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);call write~int(#t~mem8 + #t~mem9, ~a.base, ~a.offset + 4 * ~right~1, 4);havoc #t~mem8;havoc #t~mem9;call write~int(~temp~0, ~a.base, ~a.offset + 4 * ~left~1, 4);~right~1 := ~right~1 + 2 * ~space; {7245#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (and (<= 3 downsweep_~n) (= downsweep_~n |downsweep_#in~n|)) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,318 INFO L290 TraceCheckUtils]: 54: Hoare triple {7245#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (and (<= 3 downsweep_~n) (= downsweep_~n |downsweep_#in~n|)) (not (= |downsweep_#in~a.offset| 0)))} assume !(~right~1 < ~n); {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,321 INFO L290 TraceCheckUtils]: 55: Hoare triple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,323 INFO L290 TraceCheckUtils]: 56: Hoare triple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} assume !(~space > 0); {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,325 INFO L290 TraceCheckUtils]: 57: Hoare triple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} assume true; {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} is VALID [2022-04-08 10:40:44,367 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {7246#(or (and (= (store (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select |old(#memory_int)| |downsweep_#in~a.base|) (select |#memory_int| |downsweep_#in~a.base|)) (<= (+ |downsweep_#in~a.offset| 4) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (select |old(#memory_int)| |downsweep_#in~a.base|) (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))))) (and (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0) (= (store (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (<= (+ |downsweep_#in~a.offset| 4) (@diff (store (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)) (select (select |old(#memory_int)| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|)))) (select |old(#memory_int)| |downsweep_#in~a.base|))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (@diff (select |#memory_int| |downsweep_#in~a.base|) (select |old(#memory_int)| |downsweep_#in~a.base|))) 0)))) (<= 3 |downsweep_#in~n|) (not (= |downsweep_#in~a.offset| 0)))} {7222#(and (<= main_~n~0 2) (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= main_~a~0.offset 0) (not (= main_~a~0.base main_~a0~0.base)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} #154#return; {7231#(and (or (= (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) 0) (<= 4 (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (= main_~a~0.offset 0) (or (<= 4 (@diff (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= ((as const (Array Int Int)) 0) (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (or (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (<= 4 (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= main_~a~0.base main_~a0~0.base)) (= ((as const (Array Int Int)) 0) (store (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-08 10:40:44,372 INFO L272 TraceCheckUtils]: 59: Hoare triple {7231#(and (or (= (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) 0) (<= 4 (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (= main_~a~0.offset 0) (or (<= 4 (@diff (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= ((as const (Array Int Int)) 0) (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (or (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (<= 4 (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= main_~a~0.base main_~a0~0.base)) (= ((as const (Array Int Int)) 0) (store (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (or (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (<= 4 (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))))} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {7232#(and (or (<= 4 (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| |check_#in~a.base|) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) 0)) (= |check_#in~a.offset| 0) (or (<= 4 (@diff (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= ((as const (Array Int Int)) 0) (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (or (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0)) (<= 4 (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (= ((as const (Array Int Int)) 0) (store (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (or (<= 4 (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0))) 0)))} is VALID [2022-04-08 10:40:44,377 INFO L290 TraceCheckUtils]: 60: Hoare triple {7232#(and (or (<= 4 (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| |check_#in~a.base|) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) 0)) (= |check_#in~a.offset| 0) (or (<= 4 (@diff (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= ((as const (Array Int Int)) 0) (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (or (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0)) (<= 4 (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (= ((as const (Array Int Int)) 0) (store (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) (@diff (store (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)) (or (<= 4 (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0))) 0)))} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {7233#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) check_~a.offset)) check_~sum~0) (= check_~i~0 0) (= check_~a.offset 0))} is VALID [2022-04-08 10:40:44,377 INFO L290 TraceCheckUtils]: 61: Hoare triple {7233#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) check_~a.offset)) check_~sum~0) (= check_~i~0 0) (= check_~a.offset 0))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {7234#(= |check_#t~mem11| check_~sum~0)} is VALID [2022-04-08 10:40:44,378 INFO L272 TraceCheckUtils]: 62: Hoare triple {7234#(= |check_#t~mem11| check_~sum~0)} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {7235#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:40:44,378 INFO L290 TraceCheckUtils]: 63: Hoare triple {7235#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7236#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:40:44,379 INFO L290 TraceCheckUtils]: 64: Hoare triple {7236#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7183#false} is VALID [2022-04-08 10:40:44,379 INFO L290 TraceCheckUtils]: 65: Hoare triple {7183#false} assume !false; {7183#false} is VALID [2022-04-08 10:40:44,379 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 10:40:44,379 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:40:44,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [629689632] [2022-04-08 10:40:44,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [629689632] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:40:44,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1921114402] [2022-04-08 10:40:44,380 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:40:44,380 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:44,380 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:40:44,384 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:40:44,384 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 10:40:44,488 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:40:44,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:40:44,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-08 10:40:44,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:44,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:40:45,286 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 16 treesize of output 12 [2022-04-08 10:40:45,700 INFO L356 Elim1Store]: treesize reduction 151, result has 25.2 percent of original size [2022-04-08 10:40:45,701 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 52 treesize of output 68 [2022-04-08 10:40:47,106 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 15 treesize of output 7 [2022-04-08 10:40:47,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {7182#true} call ULTIMATE.init(); {7182#true} is VALID [2022-04-08 10:40:47,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {7182#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3); {7182#true} is VALID [2022-04-08 10:40:47,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:47,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7182#true} {7182#true} #160#return; {7182#true} is VALID [2022-04-08 10:40:47,271 INFO L272 TraceCheckUtils]: 4: Hoare triple {7182#true} call #t~ret20 := main(); {7182#true} is VALID [2022-04-08 10:40:47,271 INFO L290 TraceCheckUtils]: 5: Hoare triple {7182#true} assume -2147483648 <= #t~nondet13 && #t~nondet13 <= 2147483647;~n~0 := #t~nondet13;havoc #t~nondet13; {7182#true} is VALID [2022-04-08 10:40:47,271 INFO L272 TraceCheckUtils]: 6: Hoare triple {7182#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {7182#true} is VALID [2022-04-08 10:40:47,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {7182#true} ~cond := #in~cond; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {7182#true} assume !(0 == ~cond); {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7182#true} {7182#true} #142#return; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L272 TraceCheckUtils]: 11: Hoare triple {7182#true} call #t~ret14 := is_pow2(~n~0); {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 12: Hoare triple {7182#true} ~x := #in~x; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {7182#true} assume !(0 == (if ~x % 4294967296 < 0 && 0 != ~x % 4294967296 % 2 then ~x % 4294967296 % 2 - 2 else ~x % 4294967296 % 2) % 4294967296 && ~x % 4294967296 > 1); {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {7182#true} #res := (if 1 == ~x % 4294967296 then 1 else 0); {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 15: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7182#true} {7182#true} #144#return; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {7182#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L272 TraceCheckUtils]: 18: Hoare triple {7182#true} call assume_abort_if_not(#t~ret14); {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {7182#true} ~cond := #in~cond; {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {7182#true} assume !(0 == ~cond); {7182#true} is VALID [2022-04-08 10:40:47,272 INFO L290 TraceCheckUtils]: 21: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:47,273 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7182#true} {7182#true} #146#return; {7182#true} is VALID [2022-04-08 10:40:47,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {7182#true} havoc #t~ret14;call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {7319#(= |main_#t~malloc15.offset| 0)} is VALID [2022-04-08 10:40:47,273 INFO L272 TraceCheckUtils]: 24: Hoare triple {7319#(= |main_#t~malloc15.offset| 0)} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {7182#true} is VALID [2022-04-08 10:40:47,273 INFO L290 TraceCheckUtils]: 25: Hoare triple {7182#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7182#true} is VALID [2022-04-08 10:40:47,273 INFO L290 TraceCheckUtils]: 26: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:47,274 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7182#true} {7319#(= |main_#t~malloc15.offset| 0)} #148#return; {7319#(= |main_#t~malloc15.offset| 0)} is VALID [2022-04-08 10:40:47,275 INFO L290 TraceCheckUtils]: 28: Hoare triple {7319#(= |main_#t~malloc15.offset| 0)} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;call #t~malloc16.base, #t~malloc16.offset := #Ultimate.allocOnHeap(4 * ~n~0); {7335#(= main_~a~0.offset 0)} is VALID [2022-04-08 10:40:47,275 INFO L272 TraceCheckUtils]: 29: Hoare triple {7335#(= main_~a~0.offset 0)} call #Ultimate.meminit(#t~malloc16.base, #t~malloc16.offset, ~n~0, 4, 4 * ~n~0); {7182#true} is VALID [2022-04-08 10:40:47,275 INFO L290 TraceCheckUtils]: 30: Hoare triple {7182#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7182#true} is VALID [2022-04-08 10:40:47,275 INFO L290 TraceCheckUtils]: 31: Hoare triple {7182#true} assume true; {7182#true} is VALID [2022-04-08 10:40:47,276 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7182#true} {7335#(= main_~a~0.offset 0)} #150#return; {7335#(= main_~a~0.offset 0)} is VALID [2022-04-08 10:40:47,276 INFO L290 TraceCheckUtils]: 33: Hoare triple {7335#(= main_~a~0.offset 0)} ~a0~0.base, ~a0~0.offset := #t~malloc16.base, #t~malloc16.offset;havoc ~i~1;~i~1 := 0; {7351#(and (= main_~a~0.offset 0) (<= main_~i~1 0))} is VALID [2022-04-08 10:40:47,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {7351#(and (= main_~a~0.offset 0) (<= main_~i~1 0))} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {7351#(and (= main_~a~0.offset 0) (<= main_~i~1 0))} is VALID [2022-04-08 10:40:47,277 INFO L290 TraceCheckUtils]: 35: Hoare triple {7351#(and (= main_~a~0.offset 0) (<= main_~i~1 0))} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {7358#(and (= main_~a~0.offset 0) (<= main_~i~1 1))} is VALID [2022-04-08 10:40:47,278 INFO L290 TraceCheckUtils]: 36: Hoare triple {7358#(and (= main_~a~0.offset 0) (<= main_~i~1 1))} assume !!(~i~1 < ~n~0);call #t~mem18 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~1, 4);call write~int(#t~mem18, ~a0~0.base, ~a0~0.offset + 4 * ~i~1, 4);havoc #t~mem18; {7358#(and (= main_~a~0.offset 0) (<= main_~i~1 1))} is VALID [2022-04-08 10:40:47,278 INFO L290 TraceCheckUtils]: 37: Hoare triple {7358#(and (= main_~a~0.offset 0) (<= main_~i~1 1))} #t~post17 := ~i~1;~i~1 := 1 + #t~post17;havoc #t~post17; {7365#(and (= main_~a~0.offset 0) (<= main_~i~1 2))} is VALID [2022-04-08 10:40:47,279 INFO L290 TraceCheckUtils]: 38: Hoare triple {7365#(and (= main_~a~0.offset 0) (<= main_~i~1 2))} assume !(~i~1 < ~n~0); {7369#(and (<= main_~n~0 2) (= main_~a~0.offset 0))} is VALID [2022-04-08 10:40:47,279 INFO L272 TraceCheckUtils]: 39: Hoare triple {7369#(and (<= main_~n~0 2) (= main_~a~0.offset 0))} call #t~ret19 := upsweep(~a~0.base, ~a~0.offset, ~n~0); {7182#true} is VALID [2022-04-08 10:40:47,279 INFO L290 TraceCheckUtils]: 40: Hoare triple {7182#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space~0 := 1; {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:40:47,280 INFO L290 TraceCheckUtils]: 41: Hoare triple {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} assume !!(~space~0 < ~n);~left~0 := ~space~0 - 1; {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:40:47,280 INFO L290 TraceCheckUtils]: 42: Hoare triple {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} assume !!(~left~0 < ~n);~right~0 := ~left~0 + ~space~0;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * ~left~0, 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * ~right~0, 4);call write~int(#t~mem5 + #t~mem6, ~a.base, ~a.offset + 4 * ~right~0, 4);havoc #t~mem5;havoc #t~mem6;~left~0 := ~left~0 + 2 * ~space~0; {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:40:47,281 INFO L290 TraceCheckUtils]: 43: Hoare triple {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} assume !(~left~0 < ~n); {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:40:47,281 INFO L290 TraceCheckUtils]: 44: Hoare triple {7376#(and (= upsweep_~space~0 1) (<= |upsweep_#in~n| upsweep_~n))} ~space~0 := 2 * ~space~0; {7389#(and (= 2 upsweep_~space~0) (<= |upsweep_#in~n| upsweep_~n))} is VALID [2022-04-08 10:40:47,282 INFO L290 TraceCheckUtils]: 45: Hoare triple {7389#(and (= 2 upsweep_~space~0) (<= |upsweep_#in~n| upsweep_~n))} assume !(~space~0 < ~n); {7393#(and (<= |upsweep_#in~n| upsweep_~space~0) (= 2 upsweep_~space~0))} is VALID [2022-04-08 10:40:47,282 INFO L290 TraceCheckUtils]: 46: Hoare triple {7393#(and (<= |upsweep_#in~n| upsweep_~space~0) (= 2 upsweep_~space~0))} #res := ~space~0; {7397#(and (<= |upsweep_#in~n| 2) (= |upsweep_#res| 2))} is VALID [2022-04-08 10:40:47,282 INFO L290 TraceCheckUtils]: 47: Hoare triple {7397#(and (<= |upsweep_#in~n| 2) (= |upsweep_#res| 2))} assume true; {7397#(and (<= |upsweep_#in~n| 2) (= |upsweep_#res| 2))} is VALID [2022-04-08 10:40:47,283 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7397#(and (<= |upsweep_#in~n| 2) (= |upsweep_#res| 2))} {7369#(and (<= main_~n~0 2) (= main_~a~0.offset 0))} #152#return; {7404#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= |main_#t~ret19| 2))} is VALID [2022-04-08 10:40:47,284 INFO L290 TraceCheckUtils]: 49: Hoare triple {7404#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= |main_#t~ret19| 2))} assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647;~space~1 := #t~ret19;havoc #t~ret19; {7408#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= 2 main_~space~1))} is VALID [2022-04-08 10:40:47,284 INFO L272 TraceCheckUtils]: 50: Hoare triple {7408#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= 2 main_~space~1))} call downsweep(~a~0.base, ~a~0.offset, ~n~0, ~space~1); {7182#true} is VALID [2022-04-08 10:40:47,285 INFO L290 TraceCheckUtils]: 51: Hoare triple {7182#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~space := #in~space;call write~int(0, ~a.base, ~a.offset + 4 * (~n - 1), 4);~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {7415#(and (<= downsweep_~n |downsweep_#in~n|) (= downsweep_~a.base |downsweep_#in~a.base|) (= downsweep_~a.offset |downsweep_#in~a.offset|) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (or (and (or (= (mod |downsweep_#in~space| 2) 0) (not (< |downsweep_#in~space| 0))) (= downsweep_~space (div |downsweep_#in~space| 2))) (and (not (= (mod |downsweep_#in~space| 2) 0)) (< |downsweep_#in~space| 0) (= downsweep_~space (+ (div |downsweep_#in~space| 2) 1)))))} is VALID [2022-04-08 10:40:47,286 INFO L290 TraceCheckUtils]: 52: Hoare triple {7415#(and (<= downsweep_~n |downsweep_#in~n|) (= downsweep_~a.base |downsweep_#in~a.base|) (= downsweep_~a.offset |downsweep_#in~a.offset|) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (or (and (or (= (mod |downsweep_#in~space| 2) 0) (not (< |downsweep_#in~space| 0))) (= downsweep_~space (div |downsweep_#in~space| 2))) (and (not (= (mod |downsweep_#in~space| 2) 0)) (< |downsweep_#in~space| 0) (= downsweep_~space (+ (div |downsweep_#in~space| 2) 1)))))} assume !!(~space > 0);~right~1 := 2 * ~space - 1; {7419#(and (<= downsweep_~n |downsweep_#in~n|) (= downsweep_~a.base |downsweep_#in~a.base|) (= downsweep_~a.offset |downsweep_#in~a.offset|) (= downsweep_~space (div |downsweep_#in~space| 2)) (= downsweep_~right~1 (+ (- 1) (* 2 downsweep_~space))) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (< 0 downsweep_~space))} is VALID [2022-04-08 10:40:47,297 INFO L290 TraceCheckUtils]: 53: Hoare triple {7419#(and (<= downsweep_~n |downsweep_#in~n|) (= downsweep_~a.base |downsweep_#in~a.base|) (= downsweep_~a.offset |downsweep_#in~a.offset|) (= downsweep_~space (div |downsweep_#in~space| 2)) (= downsweep_~right~1 (+ (- 1) (* 2 downsweep_~space))) (= (select (select |#memory_int| downsweep_~a.base) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4))) 0) (< 0 downsweep_~space))} assume !!(~right~1 < ~n);~left~1 := ~right~1 - ~space;call #t~mem7 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~a.base, ~a.offset + 4 * ~left~1, 4);call #t~mem9 := read~int(~a.base, ~a.offset + 4 * ~right~1, 4);call write~int(#t~mem8 + #t~mem9, ~a.base, ~a.offset + 4 * ~right~1, 4);havoc #t~mem8;havoc #t~mem9;call write~int(~temp~0, ~a.base, ~a.offset + 4 * ~left~1, 4);~right~1 := ~right~1 + 2 * ~space; {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} is VALID [2022-04-08 10:40:47,304 INFO L290 TraceCheckUtils]: 54: Hoare triple {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} assume !(~right~1 < ~n); {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} is VALID [2022-04-08 10:40:47,310 INFO L290 TraceCheckUtils]: 55: Hoare triple {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} ~space := (if ~space < 0 && 0 != ~space % 2 then 1 + ~space / 2 else ~space / 2); {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} is VALID [2022-04-08 10:40:47,316 INFO L290 TraceCheckUtils]: 56: Hoare triple {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} assume !(~space > 0); {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} is VALID [2022-04-08 10:40:47,321 INFO L290 TraceCheckUtils]: 57: Hoare triple {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} assume true; {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} is VALID [2022-04-08 10:40:47,324 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {7423#(and (< 0 (div |downsweep_#in~space| 2)) (exists ((downsweep_~n Int)) (and (<= downsweep_~n |downsweep_#in~n|) (or (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* (div |downsweep_#in~space| 2) 4) (- 4) |downsweep_#in~a.offset|)) 0) (not (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))))) (< (* 2 (div |downsweep_#in~space| 2)) (+ downsweep_~n 1)) (or (= (* downsweep_~n 4) (* 8 (div |downsweep_#in~space| 2))) (= (select (select |#memory_int| |downsweep_#in~a.base|) (+ (* downsweep_~n 4) (- 4) |downsweep_#in~a.offset|)) 0)))))} {7408#(and (<= main_~n~0 2) (= main_~a~0.offset 0) (= 2 main_~space~1))} #154#return; {7439#(and (<= main_~n~0 2) (exists ((downsweep_~n Int)) (and (< 1 downsweep_~n) (= (select (select |#memory_int| main_~a~0.base) main_~a~0.offset) 0) (<= downsweep_~n main_~n~0))) (= main_~a~0.offset 0))} is VALID [2022-04-08 10:40:47,325 INFO L272 TraceCheckUtils]: 59: Hoare triple {7439#(and (<= main_~n~0 2) (exists ((downsweep_~n Int)) (and (< 1 downsweep_~n) (= (select (select |#memory_int| main_~a~0.base) main_~a~0.offset) 0) (<= downsweep_~n main_~n~0))) (= main_~a~0.offset 0))} call check(~a0~0.base, ~a0~0.offset, ~a~0.base, ~a~0.offset, ~n~0); {7443#(and (= |check_#in~a.offset| 0) (= (select (select |#memory_int| |check_#in~a.base|) 0) 0) (<= |check_#in~n| 2))} is VALID [2022-04-08 10:40:47,326 INFO L290 TraceCheckUtils]: 60: Hoare triple {7443#(and (= |check_#in~a.offset| 0) (= (select (select |#memory_int| |check_#in~a.base|) 0) 0) (<= |check_#in~n| 2))} ~a0.base, ~a0.offset := #in~a0.base, #in~a0.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;havoc ~i~0;~sum~0 := 0;~i~0 := 0; {7447#(and (= (select (select |#memory_int| check_~a.base) 0) 0) (<= check_~n 2) (= check_~i~0 0) (= check_~sum~0 0) (= check_~a.offset 0))} is VALID [2022-04-08 10:40:47,326 INFO L290 TraceCheckUtils]: 61: Hoare triple {7447#(and (= (select (select |#memory_int| check_~a.base) 0) 0) (<= check_~n 2) (= check_~i~0 0) (= check_~sum~0 0) (= check_~a.offset 0))} assume !!(~i~0 < ~n);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~i~0, 4); {7451#(and (= |check_#t~mem11| 0) (= check_~sum~0 0))} is VALID [2022-04-08 10:40:47,327 INFO L272 TraceCheckUtils]: 62: Hoare triple {7451#(and (= |check_#t~mem11| 0) (= check_~sum~0 0))} call __VERIFIER_assert((if ~sum~0 == #t~mem11 then 1 else 0)); {7455#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:40:47,327 INFO L290 TraceCheckUtils]: 63: Hoare triple {7455#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7459#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:40:47,328 INFO L290 TraceCheckUtils]: 64: Hoare triple {7459#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7183#false} is VALID [2022-04-08 10:40:47,328 INFO L290 TraceCheckUtils]: 65: Hoare triple {7183#false} assume !false; {7183#false} is VALID [2022-04-08 10:40:47,328 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:40:47,328 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:40:48,508 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-08 10:40:48,508 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 169 treesize of output 176 [2022-04-08 10:40:48,546 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 10:40:48,548 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 10:40:48,549 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 10:40:48,550 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 10:40:48,699 INFO L356 Elim1Store]: treesize reduction 149, result has 55.4 percent of original size [2022-04-08 10:40:48,700 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 10 case distinctions, treesize of input 207 treesize of output 425