/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/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/loopacceleration/qvasr/qvasr_64.epf -i ../../../trunk/examples/svcomp/verifythis/prefixsum_iter.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 22:36:41,239 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 22:36:41,241 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 22:36:41,285 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 22:36:41,286 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 22:36:41,287 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 22:36:41,291 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 22:36:41,293 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 22:36:41,294 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 22:36:41,297 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 22:36:41,298 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 22:36:41,299 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 22:36:41,299 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 22:36:41,300 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 22:36:41,301 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 22:36:41,303 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 22:36:41,303 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 22:36:41,304 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 22:36:41,305 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 22:36:41,309 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 22:36:41,310 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 22:36:41,311 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 22:36:41,312 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 22:36:41,312 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 22:36:41,313 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 22:36:41,318 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 22:36:41,318 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 22:36:41,318 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 22:36:41,319 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 22:36:41,319 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 22:36:41,320 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 22:36:41,320 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 22:36:41,321 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 22:36:41,321 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 22:36:41,322 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 22:36:41,322 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 22:36:41,322 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 22:36:41,323 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 22:36:41,323 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 22:36:41,323 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 22:36:41,323 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 22:36:41,324 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 22:36:41,325 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/loopacceleration/qvasr/qvasr_64.epf [2022-04-27 22:36:41,345 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 22:36:41,345 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 22:36:41,346 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 22:36:41,346 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 22:36:41,347 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 22:36:41,347 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 22:36:41,347 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 22:36:41,347 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 22:36:41,347 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 22:36:41,348 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 22:36:41,348 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 22:36:41,348 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 22:36:41,349 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 22:36:41,349 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 22:36:41,349 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 22:36:41,349 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 22:36:41,349 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 22:36:41,349 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2022-04-27 22:36:41,349 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-04-27 22:36:41,350 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-27 22:36:41,350 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_QVASR 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-27 22:36:41,527 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 22:36:41,549 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 22:36:41,551 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 22:36:41,551 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 22:36:41,555 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 22:36:41,556 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-27 22:36:41,606 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ae69535d/04e0e62e51f04a00aec07f692b4f3ab5/FLAGf67ff94c4 [2022-04-27 22:36:41,922 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 22:36:41,923 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/verifythis/prefixsum_iter.c [2022-04-27 22:36:41,928 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ae69535d/04e0e62e51f04a00aec07f692b4f3ab5/FLAGf67ff94c4 [2022-04-27 22:36:42,346 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ae69535d/04e0e62e51f04a00aec07f692b4f3ab5 [2022-04-27 22:36:42,353 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 22:36:42,355 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-27 22:36:42,357 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 22:36:42,357 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 22:36:42,360 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 22:36:42,360 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,361 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4aa4271 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42, skipping insertion in model container [2022-04-27 22:36:42,361 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,366 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 22:36:42,378 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 22:36:42,489 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-27 22:36:42,525 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 22:36:42,534 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 22:36:42,541 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-27 22:36:42,556 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 22:36:42,565 INFO L208 MainTranslator]: Completed translation [2022-04-27 22:36:42,565 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42 WrapperNode [2022-04-27 22:36:42,565 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 22:36:42,566 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 22:36:42,566 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 22:36:42,567 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 22:36:42,573 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,573 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,579 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,579 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,587 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,591 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,592 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,594 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 22:36:42,594 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 22:36:42,594 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 22:36:42,594 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 22:36:42,595 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (1/1) ... [2022-04-27 22:36:42,606 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 22:36:42,612 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 22:36:42,621 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-27 22:36:42,627 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-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure upsweep [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure downsweep [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure is_pow2 [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure check [2022-04-27 22:36:42,645 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 22:36:42,646 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure free [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure upsweep [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 22:36:42,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure downsweep [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure is_pow2 [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure check [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 22:36:42,647 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 22:36:42,700 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 22:36:42,702 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 22:36:45,132 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 22:36:45,137 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 22:36:45,137 INFO L299 CfgBuilder]: Removed 7 assume(true) statements. [2022-04-27 22:36:45,138 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:36:45 BoogieIcfgContainer [2022-04-27 22:36:45,138 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 22:36:45,139 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-27 22:36:45,139 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-27 22:36:45,147 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-27 22:36:45,149 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:36:45" (1/1) ... [2022-04-27 22:36:45,152 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_QVASR [2022-04-27 22:36:45,213 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 10:36:45 BasicIcfg [2022-04-27 22:36:45,214 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-27 22:36:45,215 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 22:36:45,215 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 22:36:45,217 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 22:36:45,217 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 10:36:42" (1/4) ... [2022-04-27 22:36:45,218 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b5433ae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:36:45, skipping insertion in model container [2022-04-27 22:36:45,218 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:36:42" (2/4) ... [2022-04-27 22:36:45,218 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b5433ae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:36:45, skipping insertion in model container [2022-04-27 22:36:45,218 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:36:45" (3/4) ... [2022-04-27 22:36:45,218 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b5433ae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 10:36:45, skipping insertion in model container [2022-04-27 22:36:45,218 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 10:36:45" (4/4) ... [2022-04-27 22:36:45,219 INFO L111 eAbstractionObserver]: Analyzing ICFG prefixsum_iter.cqvasr [2022-04-27 22:36:45,234 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 22:36:45,234 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 22:36:45,280 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 22:36:45,286 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3674cec6, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6820abef [2022-04-27 22:36:45,287 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 22:36:45,294 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-27 22:36:45,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 22:36:45,304 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 22:36:45,305 INFO L195 NwaCegarLoop]: 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-27 22:36:45,305 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 22:36:45,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 22:36:45,310 INFO L85 PathProgramCache]: Analyzing trace with hash -2097281603, now seen corresponding path program 1 times [2022-04-27 22:36:45,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 22:36:45,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1523961649] [2022-04-27 22:36:45,317 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 22:36:45,318 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 22:36:45,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 22:36:45,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,523 INFO L290 TraceCheckUtils]: 0: Hoare triple {100#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [165] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_18| 1))) (and (= 17 (select |v_#length_5| 2)) (= (select .cse0 1) 0) (= (select .cse0 0) 48) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_8| 0) 0) (= (select |v_#valid_8| 1) 1) (= (select |v_#valid_8| 2) 1) (= (select |v_#length_5| 3) 12) (= (select |v_#valid_8| 3) 1) (= 2 (select |v_#length_5| 1)) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_18|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_18|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_5|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {67#true} is VALID [2022-04-27 22:36:45,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [168] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,524 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67#true} {67#true} [233] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 22:36:45,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,538 INFO L290 TraceCheckUtils]: 0: Hoare triple {67#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {67#true} is VALID [2022-04-27 22:36:45,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [174] L6-->L6-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#false} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68#false} {67#true} [234] assume_abort_if_notEXIT-->L63-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {68#false} is VALID [2022-04-27 22:36:45,552 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 22:36:45,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {67#true} [173] is_pow2ENTRY-->L47-2: Formula: (= |v_is_pow2_#in~x_1| v_is_pow2_~x_5) InVars {is_pow2_#in~x=|v_is_pow2_#in~x_1|} OutVars{is_pow2_~x=v_is_pow2_~x_5, is_pow2_#in~x=|v_is_pow2_#in~x_1|} AuxVars[] AssignedVars[is_pow2_~x] {67#true} is VALID [2022-04-27 22:36:45,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [177] L47-2-->L47-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#false} [182] L47-3-->is_pow2FINAL: Formula: (= (ite (= (mod v_is_pow2_~x_4 4294967296) 1) 1 0) |v_is_pow2_#res_1|) InVars {is_pow2_~x=v_is_pow2_~x_4} OutVars{is_pow2_~x=v_is_pow2_~x_4, is_pow2_#res=|v_is_pow2_#res_1|} AuxVars[] AssignedVars[is_pow2_#res] {68#false} is VALID [2022-04-27 22:36:45,559 INFO L290 TraceCheckUtils]: 3: Hoare triple {68#false} [184] is_pow2FINAL-->is_pow2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,559 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {68#false} {68#false} [236] is_pow2EXIT-->L64: AOR: Formula: (= |v_is_pow2_#resOutParam_1| |v_main_#t~ret14_5|) InVars {is_pow2_#res=|v_is_pow2_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_5|} AuxVars[] AssignedVars[main_#t~ret14, is_pow2_#res] LVA: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {68#false} is VALID [2022-04-27 22:36:45,559 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 22:36:45,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,564 INFO L290 TraceCheckUtils]: 0: Hoare triple {67#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {67#true} is VALID [2022-04-27 22:36:45,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [174] L6-->L6-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#false} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68#false} {68#false} [235] assume_abort_if_notEXIT-->L64-2: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {68#false} is VALID [2022-04-27 22:36:45,569 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 22:36:45,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,576 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {67#true} is VALID [2022-04-27 22:36:45,576 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,577 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67#true} {68#false} [237] #Ultimate.meminitEXIT-->L65-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {68#false} is VALID [2022-04-27 22:36:45,577 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 22:36:45,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {67#true} is VALID [2022-04-27 22:36:45,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,582 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67#true} {68#false} [238] #Ultimate.meminitEXIT-->L67-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {68#false} is VALID [2022-04-27 22:36:45,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 35 [2022-04-27 22:36:45,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,588 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [196] upsweepENTRY-->L18-3: Formula: (and (= v_upsweep_~space~0_1 1) (= |v_upsweep_#in~a.base_1| v_upsweep_~a.base_1) (= v_upsweep_~a.offset_1 |v_upsweep_#in~a.offset_1|) (= v_upsweep_~n_2 |v_upsweep_#in~n_1|)) InVars {upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} OutVars{upsweep_~space~0=v_upsweep_~space~0_1, upsweep_~n=v_upsweep_~n_2, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_~a.base=v_upsweep_~a.base_1, upsweep_~a.offset=v_upsweep_~a.offset_1, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} AuxVars[] AssignedVars[upsweep_~space~0, upsweep_~n, upsweep_~a.base, upsweep_~a.offset] {67#true} is VALID [2022-04-27 22:36:45,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [198] L18-3-->L18-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#false} [203] L18-4-->upsweepFINAL: Formula: (= |v_upsweep_#res_1| v_upsweep_~space~0_7) InVars {upsweep_~space~0=v_upsweep_~space~0_7} OutVars{upsweep_~space~0=v_upsweep_~space~0_7, upsweep_#res=|v_upsweep_#res_1|} AuxVars[] AssignedVars[upsweep_#res] {68#false} is VALID [2022-04-27 22:36:45,589 INFO L290 TraceCheckUtils]: 3: Hoare triple {68#false} [212] upsweepFINAL-->upsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,589 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {68#false} {68#false} [239] upsweepEXIT-->L72: AOR: Formula: (= |v_main_#t~ret19_4| |v_upsweep_#resOutParam_1|) InVars {upsweep_#res=|v_upsweep_#resOutParam_1|} OutVars{main_#t~ret19=|v_main_#t~ret19_4|} AuxVars[] AssignedVars[main_#t~ret19, upsweep_#res] LVA: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {68#false} is VALID [2022-04-27 22:36:45,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-27 22:36:45,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:45,601 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [202] downsweepENTRY-->L33-3: Formula: (and (= |v_#memory_int_13| (store |v_#memory_int_14| v_downsweep_~a.base_1 (store (select |v_#memory_int_14| v_downsweep_~a.base_1) (+ v_downsweep_~a.offset_1 (- 4) (* v_downsweep_~n_2 4)) 0))) (= v_downsweep_~a.base_1 |v_downsweep_#in~a.base_1|) (= v_downsweep_~a.offset_1 |v_downsweep_#in~a.offset_1|) (= v_downsweep_~space_2 (let ((.cse0 (div |v_downsweep_#in~space_1| 2))) (ite (and (not (= (mod |v_downsweep_#in~space_1| 2) 0)) (< |v_downsweep_#in~space_1| 0)) (+ .cse0 1) .cse0))) (= v_downsweep_~n_2 |v_downsweep_#in~n_1|)) InVars {#memory_int=|v_#memory_int_14|, downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_~n=v_downsweep_~n_2, downsweep_~space=v_downsweep_~space_2, downsweep_~a.offset=v_downsweep_~a.offset_1, #memory_int=|v_#memory_int_13|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|, downsweep_~a.base=v_downsweep_~a.base_1} AuxVars[] AssignedVars[downsweep_~n, downsweep_~space, downsweep_~a.offset, #memory_int, downsweep_~a.base] {67#true} is VALID [2022-04-27 22:36:45,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {67#true} [209] L33-3-->L33-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#false} [218] L33-4-->downsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68#false} {68#false} [241] downsweepEXIT-->L73-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {68#false} is VALID [2022-04-27 22:36:45,602 INFO L272 TraceCheckUtils]: 0: Hoare triple {67#true} [163] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {100#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 22:36:45,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {100#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [165] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_18| 1))) (and (= 17 (select |v_#length_5| 2)) (= (select .cse0 1) 0) (= (select .cse0 0) 48) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_8| 0) 0) (= (select |v_#valid_8| 1) 1) (= (select |v_#valid_8| 2) 1) (= (select |v_#length_5| 3) 12) (= (select |v_#valid_8| 3) 1) (= 2 (select |v_#length_5| 1)) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_18|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_18|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_5|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {67#true} is VALID [2022-04-27 22:36:45,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {67#true} [168] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67#true} {67#true} [233] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {67#true} [164] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {67#true} [167] mainENTRY-->L63: Formula: (and (<= |v_main_#t~nondet13_2| 2147483647) (<= 0 (+ |v_main_#t~nondet13_2| 2147483648)) (= v_main_~n~0_4 |v_main_#t~nondet13_2|)) InVars {main_#t~nondet13=|v_main_#t~nondet13_2|} OutVars{main_~n~0=v_main_~n~0_4} AuxVars[] AssignedVars[main_#t~nondet13, main_~n~0] {67#true} is VALID [2022-04-27 22:36:45,603 INFO L272 TraceCheckUtils]: 6: Hoare triple {67#true} [169] L63-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {67#true} is VALID [2022-04-27 22:36:45,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {67#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {67#true} is VALID [2022-04-27 22:36:45,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {67#true} [174] L6-->L6-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {68#false} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,604 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68#false} {67#true} [234] assume_abort_if_notEXIT-->L63-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {68#false} is VALID [2022-04-27 22:36:45,604 INFO L272 TraceCheckUtils]: 11: Hoare triple {68#false} [170] L63-1-->is_pow2ENTRY: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {67#true} is VALID [2022-04-27 22:36:45,605 INFO L290 TraceCheckUtils]: 12: Hoare triple {67#true} [173] is_pow2ENTRY-->L47-2: Formula: (= |v_is_pow2_#in~x_1| v_is_pow2_~x_5) InVars {is_pow2_#in~x=|v_is_pow2_#in~x_1|} OutVars{is_pow2_~x=v_is_pow2_~x_5, is_pow2_#in~x=|v_is_pow2_#in~x_1|} AuxVars[] AssignedVars[is_pow2_~x] {67#true} is VALID [2022-04-27 22:36:45,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {67#true} [177] L47-2-->L47-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {68#false} [182] L47-3-->is_pow2FINAL: Formula: (= (ite (= (mod v_is_pow2_~x_4 4294967296) 1) 1 0) |v_is_pow2_#res_1|) InVars {is_pow2_~x=v_is_pow2_~x_4} OutVars{is_pow2_~x=v_is_pow2_~x_4, is_pow2_#res=|v_is_pow2_#res_1|} AuxVars[] AssignedVars[is_pow2_#res] {68#false} is VALID [2022-04-27 22:36:45,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {68#false} [184] is_pow2FINAL-->is_pow2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,605 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {68#false} {68#false} [236] is_pow2EXIT-->L64: AOR: Formula: (= |v_is_pow2_#resOutParam_1| |v_main_#t~ret14_5|) InVars {is_pow2_#res=|v_is_pow2_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_5|} AuxVars[] AssignedVars[main_#t~ret14, is_pow2_#res] LVA: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {68#false} is VALID [2022-04-27 22:36:45,606 INFO L290 TraceCheckUtils]: 17: Hoare triple {68#false} [172] L64-->L64-1: Formula: (and (<= |v_main_#t~ret14_2| 2147483647) (<= 0 (+ |v_main_#t~ret14_2| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_2|} OutVars{main_#t~ret14=|v_main_#t~ret14_2|} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,606 INFO L272 TraceCheckUtils]: 18: Hoare triple {68#false} [176] L64-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {67#true} is VALID [2022-04-27 22:36:45,606 INFO L290 TraceCheckUtils]: 19: Hoare triple {67#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {67#true} is VALID [2022-04-27 22:36:45,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {67#true} [174] L6-->L6-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {68#false} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,607 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {68#false} {68#false} [235] assume_abort_if_notEXIT-->L64-2: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {68#false} is VALID [2022-04-27 22:36:45,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {68#false} [181] L64-2-->L65: Formula: (and (= (store |v_#length_2| |v_main_#t~malloc15.base_1| (* v_main_~n~0_7 4)) |v_#length_1|) (= (store |v_#valid_5| |v_main_#t~malloc15.base_1| 1) |v_#valid_4|) (not (= |v_main_#t~malloc15.base_1| 0)) (< |v_main_#t~malloc15.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc15.offset_1| 0) (= (select |v_#valid_5| |v_main_#t~malloc15.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_7, #valid=|v_#valid_5|} OutVars{main_#t~malloc15.offset=|v_main_#t~malloc15.offset_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, main_#t~ret14=|v_main_#t~ret14_4|, #valid=|v_#valid_4|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_7, main_#t~malloc15.base=|v_main_#t~malloc15.base_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, main_#t~ret14, #valid, #length, main_#t~malloc15.base] {68#false} is VALID [2022-04-27 22:36:45,607 INFO L272 TraceCheckUtils]: 24: Hoare triple {68#false} [183] L65-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:45,607 INFO L290 TraceCheckUtils]: 25: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {67#true} is VALID [2022-04-27 22:36:45,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {67#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,607 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {67#true} {68#false} [237] #Ultimate.meminitEXIT-->L65-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {68#false} is VALID [2022-04-27 22:36:45,608 INFO L290 TraceCheckUtils]: 28: Hoare triple {68#false} [185] L65-1-->L67: Formula: (and (= (store |v_#length_4| |v_main_#t~malloc16.base_1| (* v_main_~n~0_9 4)) |v_#length_3|) (= v_main_~a~0.base_5 |v_main_#t~malloc15.base_3|) (= (select |v_#valid_7| |v_main_#t~malloc16.base_1|) 0) (not (= |v_main_#t~malloc16.base_1| 0)) (= v_main_~a~0.offset_5 |v_main_#t~malloc15.offset_3|) (= |v_#valid_6| (store |v_#valid_7| |v_main_#t~malloc16.base_1| 1)) (= |v_main_#t~malloc16.offset_1| 0) (< |v_main_#t~malloc16.base_1| |v_#StackHeapBarrier_2|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_3|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #valid=|v_#valid_7|, #length=|v_#length_4|, main_~n~0=v_main_~n~0_9, main_#t~malloc15.base=|v_main_#t~malloc15.base_3|} OutVars{main_#t~malloc15.offset=|v_main_#t~malloc15.offset_3|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #valid=|v_#valid_6|, main_~a~0.base=v_main_~a~0.base_5, main_#t~malloc16.offset=|v_main_#t~malloc16.offset_1|, #length=|v_#length_3|, main_~n~0=v_main_~n~0_9, main_#t~malloc15.base=|v_main_#t~malloc15.base_3|, main_~a~0.offset=v_main_~a~0.offset_5, main_#t~malloc16.base=|v_main_#t~malloc16.base_1|} AuxVars[] AssignedVars[#valid, main_~a~0.base, main_#t~malloc16.offset, #length, main_~a~0.offset, main_#t~malloc16.base] {68#false} is VALID [2022-04-27 22:36:45,608 INFO L272 TraceCheckUtils]: 29: Hoare triple {68#false} [187] L67-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:45,608 INFO L290 TraceCheckUtils]: 30: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {67#true} is VALID [2022-04-27 22:36:45,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {67#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67#true} is VALID [2022-04-27 22:36:45,608 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {67#true} {68#false} [238] #Ultimate.meminitEXIT-->L67-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {68#false} is VALID [2022-04-27 22:36:45,608 INFO L290 TraceCheckUtils]: 33: Hoare triple {68#false} [189] L67-1-->L69-3: Formula: (and (= v_main_~i~1_1 0) (= v_main_~a0~0.base_3 |v_main_#t~malloc16.base_3|) (= v_main_~a0~0.offset_3 |v_main_#t~malloc16.offset_3|)) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_3|, main_#t~malloc16.base=|v_main_#t~malloc16.base_3|} OutVars{main_~i~1=v_main_~i~1_1, main_#t~malloc16.offset=|v_main_#t~malloc16.offset_3|, main_~a0~0.offset=v_main_~a0~0.offset_3, main_~a0~0.base=v_main_~a0~0.base_3, main_#t~malloc16.base=|v_main_#t~malloc16.base_3|} AuxVars[] AssignedVars[main_~a0~0.offset, main_~i~1, main_~a0~0.base] {68#false} is VALID [2022-04-27 22:36:45,608 INFO L290 TraceCheckUtils]: 34: Hoare triple {68#false} [190] L69-3-->L69-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,609 INFO L272 TraceCheckUtils]: 35: Hoare triple {68#false} [193] L69-4-->upsweepENTRY: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:45,609 INFO L290 TraceCheckUtils]: 36: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [196] upsweepENTRY-->L18-3: Formula: (and (= v_upsweep_~space~0_1 1) (= |v_upsweep_#in~a.base_1| v_upsweep_~a.base_1) (= v_upsweep_~a.offset_1 |v_upsweep_#in~a.offset_1|) (= v_upsweep_~n_2 |v_upsweep_#in~n_1|)) InVars {upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} OutVars{upsweep_~space~0=v_upsweep_~space~0_1, upsweep_~n=v_upsweep_~n_2, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_~a.base=v_upsweep_~a.base_1, upsweep_~a.offset=v_upsweep_~a.offset_1, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} AuxVars[] AssignedVars[upsweep_~space~0, upsweep_~n, upsweep_~a.base, upsweep_~a.offset] {67#true} is VALID [2022-04-27 22:36:45,609 INFO L290 TraceCheckUtils]: 37: Hoare triple {67#true} [198] L18-3-->L18-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,609 INFO L290 TraceCheckUtils]: 38: Hoare triple {68#false} [203] L18-4-->upsweepFINAL: Formula: (= |v_upsweep_#res_1| v_upsweep_~space~0_7) InVars {upsweep_~space~0=v_upsweep_~space~0_7} OutVars{upsweep_~space~0=v_upsweep_~space~0_7, upsweep_#res=|v_upsweep_#res_1|} AuxVars[] AssignedVars[upsweep_#res] {68#false} is VALID [2022-04-27 22:36:45,609 INFO L290 TraceCheckUtils]: 39: Hoare triple {68#false} [212] upsweepFINAL-->upsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,610 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {68#false} {68#false} [239] upsweepEXIT-->L72: AOR: Formula: (= |v_main_#t~ret19_4| |v_upsweep_#resOutParam_1|) InVars {upsweep_#res=|v_upsweep_#resOutParam_1|} OutVars{main_#t~ret19=|v_main_#t~ret19_4|} AuxVars[] AssignedVars[main_#t~ret19, upsweep_#res] LVA: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {68#false} is VALID [2022-04-27 22:36:45,610 INFO L290 TraceCheckUtils]: 41: Hoare triple {68#false} [195] L72-->L73: Formula: (and (<= 0 (+ |v_main_#t~ret19_3| 2147483648)) (<= |v_main_#t~ret19_3| 2147483647) (= |v_main_#t~ret19_3| v_main_~space~1_1)) InVars {main_#t~ret19=|v_main_#t~ret19_3|} OutVars{main_~space~1=v_main_~space~1_1} AuxVars[] AssignedVars[main_#t~ret19, main_~space~1] {68#false} is VALID [2022-04-27 22:36:45,610 INFO L272 TraceCheckUtils]: 42: Hoare triple {68#false} [197] L73-->downsweepENTRY: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {101#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:45,610 INFO L290 TraceCheckUtils]: 43: Hoare triple {101#(= |#memory_int| |old(#memory_int)|)} [202] downsweepENTRY-->L33-3: Formula: (and (= |v_#memory_int_13| (store |v_#memory_int_14| v_downsweep_~a.base_1 (store (select |v_#memory_int_14| v_downsweep_~a.base_1) (+ v_downsweep_~a.offset_1 (- 4) (* v_downsweep_~n_2 4)) 0))) (= v_downsweep_~a.base_1 |v_downsweep_#in~a.base_1|) (= v_downsweep_~a.offset_1 |v_downsweep_#in~a.offset_1|) (= v_downsweep_~space_2 (let ((.cse0 (div |v_downsweep_#in~space_1| 2))) (ite (and (not (= (mod |v_downsweep_#in~space_1| 2) 0)) (< |v_downsweep_#in~space_1| 0)) (+ .cse0 1) .cse0))) (= v_downsweep_~n_2 |v_downsweep_#in~n_1|)) InVars {#memory_int=|v_#memory_int_14|, downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_~n=v_downsweep_~n_2, downsweep_~space=v_downsweep_~space_2, downsweep_~a.offset=v_downsweep_~a.offset_1, #memory_int=|v_#memory_int_13|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|, downsweep_~a.base=v_downsweep_~a.base_1} AuxVars[] AssignedVars[downsweep_~n, downsweep_~space, downsweep_~a.offset, #memory_int, downsweep_~a.base] {67#true} is VALID [2022-04-27 22:36:45,611 INFO L290 TraceCheckUtils]: 44: Hoare triple {67#true} [209] L33-3-->L33-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,611 INFO L290 TraceCheckUtils]: 45: Hoare triple {68#false} [218] L33-4-->downsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,611 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {68#false} {68#false} [241] downsweepEXIT-->L73-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {68#false} is VALID [2022-04-27 22:36:45,611 INFO L272 TraceCheckUtils]: 47: Hoare triple {68#false} [201] L73-1-->checkENTRY: Formula: (and (= v_main_~a0~0.offset_5 |v_check_#in~a0.offsetInParam_1|) (= v_main_~a0~0.base_5 |v_check_#in~a0.baseInParam_1|) (= |v_check_#in~a.offsetInParam_1| v_main_~a~0.offset_9) (= v_main_~n~0_19 |v_check_#in~nInParam_1|) (= |v_check_#in~a.baseInParam_1| v_main_~a~0.base_9)) InVars {main_~a~0.base=v_main_~a~0.base_9, main_~n~0=v_main_~n~0_19, main_~a~0.offset=v_main_~a~0.offset_9, main_~a0~0.offset=v_main_~a0~0.offset_5, main_~a0~0.base=v_main_~a0~0.base_5} OutVars{check_#in~a.offset=|v_check_#in~a.offsetInParam_1|, check_#in~a0.base=|v_check_#in~a0.baseInParam_1|, check_#in~n=|v_check_#in~nInParam_1|, check_#in~a.base=|v_check_#in~a.baseInParam_1|, check_#in~a0.offset=|v_check_#in~a0.offsetInParam_1|} AuxVars[] AssignedVars[check_#in~a.offset, main_~a0~0.offset, check_#in~a.base, main_~a~0.base, main_~n~0, main_~a~0.offset, check_#in~a0.base, check_#in~n, main_~a0~0.base, check_#in~a0.offset] {68#false} is VALID [2022-04-27 22:36:45,611 INFO L290 TraceCheckUtils]: 48: Hoare triple {68#false} [208] checkENTRY-->L54-3: Formula: (and (= v_check_~i~0_4 0) (= |v_check_#in~a.offset_1| v_check_~a.offset_1) (= v_check_~sum~0_4 0) (= v_check_~a.base_1 |v_check_#in~a.base_1|) (= |v_check_#in~a0.offset_1| v_check_~a0.offset_2) (= v_check_~n_1 |v_check_#in~n_1|) (= v_check_~a0.base_2 |v_check_#in~a0.base_1|)) InVars {check_#in~a.offset=|v_check_#in~a.offset_1|, check_#in~n=|v_check_#in~n_1|, check_#in~a0.base=|v_check_#in~a0.base_1|, check_#in~a.base=|v_check_#in~a.base_1|, check_#in~a0.offset=|v_check_#in~a0.offset_1|} OutVars{check_#in~a.offset=|v_check_#in~a.offset_1|, check_~a.base=v_check_~a.base_1, check_~i~0=v_check_~i~0_4, check_#in~a0.base=|v_check_#in~a0.base_1|, check_#in~a0.offset=|v_check_#in~a0.offset_1|, check_~a0.base=v_check_~a0.base_2, check_~a.offset=v_check_~a.offset_1, check_~sum~0=v_check_~sum~0_4, check_#in~a.base=|v_check_#in~a.base_1|, check_~a0.offset=v_check_~a0.offset_2, check_~n=v_check_~n_1, check_#in~n=|v_check_#in~n_1|} AuxVars[] AssignedVars[check_~a0.base, check_~a.base, check_~a.offset, check_~i~0, check_~sum~0, check_~a0.offset, check_~n] {68#false} is VALID [2022-04-27 22:36:45,611 INFO L290 TraceCheckUtils]: 49: Hoare triple {68#false} [217] L54-3-->L55: Formula: (and (= |v_check_#t~mem11_3| (select (select |v_#memory_int_12| v_check_~a.base_2) (+ (* v_check_~i~0_7 4) v_check_~a.offset_2))) (< v_check_~i~0_7 v_check_~n_3)) InVars {#memory_int=|v_#memory_int_12|, check_~a.base=v_check_~a.base_2, check_~a.offset=v_check_~a.offset_2, check_~n=v_check_~n_3, check_~i~0=v_check_~i~0_7} OutVars{check_~a.base=v_check_~a.base_2, check_~a.offset=v_check_~a.offset_2, check_~i~0=v_check_~i~0_7, check_#t~mem11=|v_check_#t~mem11_3|, #memory_int=|v_#memory_int_12|, check_~n=v_check_~n_3} AuxVars[] AssignedVars[check_#t~mem11] {68#false} is VALID [2022-04-27 22:36:45,612 INFO L272 TraceCheckUtils]: 50: Hoare triple {68#false} [223] L55-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= v_check_~sum~0_5 |v_check_#t~mem11_4|) 1 0)) InVars {check_~sum~0=v_check_~sum~0_5, check_#t~mem11=|v_check_#t~mem11_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, check_~sum~0, check_#t~mem11] {68#false} is VALID [2022-04-27 22:36:45,612 INFO L290 TraceCheckUtils]: 51: Hoare triple {68#false} [226] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {68#false} is VALID [2022-04-27 22:36:45,612 INFO L290 TraceCheckUtils]: 52: Hoare triple {68#false} [228] L13-->L13-1: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,612 INFO L290 TraceCheckUtils]: 53: Hoare triple {68#false} [230] L13-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#false} is VALID [2022-04-27 22:36:45,612 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-27 22:36:45,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 22:36:45,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1523961649] [2022-04-27 22:36:45,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1523961649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 22:36:45,613 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 22:36:45,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 22:36:45,615 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1678420946] [2022-04-27 22:36:45,615 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 22:36:45,618 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-27 22:36:45,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 22:36:45,621 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-27 22:36:45,670 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-27 22:36:45,670 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 22:36:45,670 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 22:36:45,695 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 22:36:45,695 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 22:36:45,697 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-27 22:36:46,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 22:36:46,055 INFO L93 Difference]: Finished difference Result 127 states and 171 transitions. [2022-04-27 22:36:46,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 22:36:46,056 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-27 22:36:46,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 22:36:46,057 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-27 22:36:46,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 171 transitions. [2022-04-27 22:36:46,065 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-27 22:36:46,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 171 transitions. [2022-04-27 22:36:46,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 171 transitions. [2022-04-27 22:36:46,203 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-27 22:36:46,214 INFO L225 Difference]: With dead ends: 127 [2022-04-27 22:36:46,214 INFO L226 Difference]: Without dead ends: 63 [2022-04-27 22:36:46,217 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 22 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-27 22:36:46,221 INFO L413 NwaCegarLoop]: 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-27 22:36:46,221 INFO L414 NwaCegarLoop]: 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-27 22:36:46,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-27 22:36:46,241 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 57. [2022-04-27 22:36:46,241 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 22:36:46,242 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-27 22:36:46,242 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-27 22:36:46,243 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-27 22:36:46,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 22:36:46,247 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-27 22:36:46,247 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-27 22:36:46,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 22:36:46,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 22:36:46,248 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-27 22:36:46,248 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-27 22:36:46,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 22:36:46,251 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-27 22:36:46,251 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-27 22:36:46,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 22:36:46,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 22:36:46,252 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 22:36:46,252 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 22:36:46,253 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-27 22:36:46,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 65 transitions. [2022-04-27 22:36:46,255 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 65 transitions. Word has length 54 [2022-04-27 22:36:46,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 22:36:46,256 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 65 transitions. [2022-04-27 22:36:46,256 INFO L496 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-27 22:36:46,256 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 65 transitions. [2022-04-27 22:36:46,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 22:36:46,257 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 22:36:46,257 INFO L195 NwaCegarLoop]: 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-27 22:36:46,257 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 22:36:46,257 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 22:36:46,258 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 22:36:46,258 INFO L85 PathProgramCache]: Analyzing trace with hash 852142075, now seen corresponding path program 1 times [2022-04-27 22:36:46,258 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 22:36:46,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558625118] [2022-04-27 22:36:46,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 22:36:46,258 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 22:36:46,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,366 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 22:36:46,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,372 INFO L290 TraceCheckUtils]: 0: Hoare triple {532#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [165] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_18| 1))) (and (= 17 (select |v_#length_5| 2)) (= (select .cse0 1) 0) (= (select .cse0 0) 48) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_8| 0) 0) (= (select |v_#valid_8| 1) 1) (= (select |v_#valid_8| 2) 1) (= (select |v_#length_5| 3) 12) (= (select |v_#valid_8| 3) 1) (= 2 (select |v_#length_5| 1)) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_18|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_18|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_5|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {495#true} is VALID [2022-04-27 22:36:46,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [168] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,372 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {495#true} {495#true} [233] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,372 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 22:36:46,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {495#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {495#true} is VALID [2022-04-27 22:36:46,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {495#true} {495#true} [234] assume_abort_if_notEXIT-->L63-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {495#true} is VALID [2022-04-27 22:36:46,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 22:36:46,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {495#true} [173] is_pow2ENTRY-->L47-2: Formula: (= |v_is_pow2_#in~x_1| v_is_pow2_~x_5) InVars {is_pow2_#in~x=|v_is_pow2_#in~x_1|} OutVars{is_pow2_~x=v_is_pow2_~x_5, is_pow2_#in~x=|v_is_pow2_#in~x_1|} AuxVars[] AssignedVars[is_pow2_~x] {495#true} is VALID [2022-04-27 22:36:46,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [178] L47-2-->L47-3: Formula: (or (not (= (mod v_is_pow2_~x_1 2) 0)) (not (< 1 (mod v_is_pow2_~x_1 4294967296)))) InVars {is_pow2_~x=v_is_pow2_~x_1} OutVars{is_pow2_~x=v_is_pow2_~x_1} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} [182] L47-3-->is_pow2FINAL: Formula: (= (ite (= (mod v_is_pow2_~x_4 4294967296) 1) 1 0) |v_is_pow2_#res_1|) InVars {is_pow2_~x=v_is_pow2_~x_4} OutVars{is_pow2_~x=v_is_pow2_~x_4, is_pow2_#res=|v_is_pow2_#res_1|} AuxVars[] AssignedVars[is_pow2_#res] {495#true} is VALID [2022-04-27 22:36:46,410 INFO L290 TraceCheckUtils]: 3: Hoare triple {495#true} [184] is_pow2FINAL-->is_pow2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,410 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {495#true} {495#true} [236] is_pow2EXIT-->L64: AOR: Formula: (= |v_is_pow2_#resOutParam_1| |v_main_#t~ret14_5|) InVars {is_pow2_#res=|v_is_pow2_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_5|} AuxVars[] AssignedVars[main_#t~ret14, is_pow2_#res] LVA: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {495#true} is VALID [2022-04-27 22:36:46,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 22:36:46,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {495#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {495#true} is VALID [2022-04-27 22:36:46,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {495#true} {495#true} [235] assume_abort_if_notEXIT-->L64-2: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {495#true} is VALID [2022-04-27 22:36:46,421 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 22:36:46,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {495#true} is VALID [2022-04-27 22:36:46,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,425 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {495#true} {495#true} [237] #Ultimate.meminitEXIT-->L65-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {495#true} is VALID [2022-04-27 22:36:46,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 22:36:46,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {495#true} is VALID [2022-04-27 22:36:46,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,429 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {495#true} {495#true} [238] #Ultimate.meminitEXIT-->L67-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {495#true} is VALID [2022-04-27 22:36:46,429 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 35 [2022-04-27 22:36:46,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [196] upsweepENTRY-->L18-3: Formula: (and (= v_upsweep_~space~0_1 1) (= |v_upsweep_#in~a.base_1| v_upsweep_~a.base_1) (= v_upsweep_~a.offset_1 |v_upsweep_#in~a.offset_1|) (= v_upsweep_~n_2 |v_upsweep_#in~n_1|)) InVars {upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} OutVars{upsweep_~space~0=v_upsweep_~space~0_1, upsweep_~n=v_upsweep_~n_2, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_~a.base=v_upsweep_~a.base_1, upsweep_~a.offset=v_upsweep_~a.offset_1, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} AuxVars[] AssignedVars[upsweep_~space~0, upsweep_~n, upsweep_~a.base, upsweep_~a.offset] {495#true} is VALID [2022-04-27 22:36:46,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [199] L18-3-->L18-4: Formula: (not (< v_upsweep_~space~0_5 v_upsweep_~n_4)) InVars {upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} OutVars{upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} [203] L18-4-->upsweepFINAL: Formula: (= |v_upsweep_#res_1| v_upsweep_~space~0_7) InVars {upsweep_~space~0=v_upsweep_~space~0_7} OutVars{upsweep_~space~0=v_upsweep_~space~0_7, upsweep_#res=|v_upsweep_#res_1|} AuxVars[] AssignedVars[upsweep_#res] {495#true} is VALID [2022-04-27 22:36:46,462 INFO L290 TraceCheckUtils]: 3: Hoare triple {495#true} [212] upsweepFINAL-->upsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,463 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {495#true} {520#(<= main_~n~0 0)} [239] upsweepEXIT-->L72: AOR: Formula: (= |v_main_#t~ret19_4| |v_upsweep_#resOutParam_1|) InVars {upsweep_#res=|v_upsweep_#resOutParam_1|} OutVars{main_#t~ret19=|v_main_#t~ret19_4|} AuxVars[] AssignedVars[main_#t~ret19, upsweep_#res] LVA: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {520#(<= main_~n~0 0)} is VALID [2022-04-27 22:36:46,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-27 22:36:46,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:46,478 INFO L290 TraceCheckUtils]: 0: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [202] downsweepENTRY-->L33-3: Formula: (and (= |v_#memory_int_13| (store |v_#memory_int_14| v_downsweep_~a.base_1 (store (select |v_#memory_int_14| v_downsweep_~a.base_1) (+ v_downsweep_~a.offset_1 (- 4) (* v_downsweep_~n_2 4)) 0))) (= v_downsweep_~a.base_1 |v_downsweep_#in~a.base_1|) (= v_downsweep_~a.offset_1 |v_downsweep_#in~a.offset_1|) (= v_downsweep_~space_2 (let ((.cse0 (div |v_downsweep_#in~space_1| 2))) (ite (and (not (= (mod |v_downsweep_#in~space_1| 2) 0)) (< |v_downsweep_#in~space_1| 0)) (+ .cse0 1) .cse0))) (= v_downsweep_~n_2 |v_downsweep_#in~n_1|)) InVars {#memory_int=|v_#memory_int_14|, downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_~n=v_downsweep_~n_2, downsweep_~space=v_downsweep_~space_2, downsweep_~a.offset=v_downsweep_~a.offset_1, #memory_int=|v_#memory_int_13|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|, downsweep_~a.base=v_downsweep_~a.base_1} AuxVars[] AssignedVars[downsweep_~n, downsweep_~space, downsweep_~a.offset, #memory_int, downsweep_~a.base] {495#true} is VALID [2022-04-27 22:36:46,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} [210] L33-3-->L33-4: Formula: (not (< 0 v_downsweep_~space_7)) InVars {downsweep_~space=v_downsweep_~space_7} OutVars{downsweep_~space=v_downsweep_~space_7} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} [218] L33-4-->downsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {495#true} {520#(<= main_~n~0 0)} [241] downsweepEXIT-->L73-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {520#(<= main_~n~0 0)} is VALID [2022-04-27 22:36:46,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {495#true} [163] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {532#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 22:36:46,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {532#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [165] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_18| 1))) (and (= 17 (select |v_#length_5| 2)) (= (select .cse0 1) 0) (= (select .cse0 0) 48) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_8| 0) 0) (= (select |v_#valid_8| 1) 1) (= (select |v_#valid_8| 2) 1) (= (select |v_#length_5| 3) 12) (= (select |v_#valid_8| 3) 1) (= 2 (select |v_#length_5| 1)) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_18|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_18|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_5|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {495#true} is VALID [2022-04-27 22:36:46,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} [168] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {495#true} {495#true} [233] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {495#true} [164] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {495#true} [167] mainENTRY-->L63: Formula: (and (<= |v_main_#t~nondet13_2| 2147483647) (<= 0 (+ |v_main_#t~nondet13_2| 2147483648)) (= v_main_~n~0_4 |v_main_#t~nondet13_2|)) InVars {main_#t~nondet13=|v_main_#t~nondet13_2|} OutVars{main_~n~0=v_main_~n~0_4} AuxVars[] AssignedVars[main_#t~nondet13, main_~n~0] {495#true} is VALID [2022-04-27 22:36:46,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {495#true} [169] L63-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {495#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {495#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {495#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {495#true} {495#true} [234] assume_abort_if_notEXIT-->L63-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L272 TraceCheckUtils]: 11: Hoare triple {495#true} [170] L63-1-->is_pow2ENTRY: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L290 TraceCheckUtils]: 12: Hoare triple {495#true} [173] is_pow2ENTRY-->L47-2: Formula: (= |v_is_pow2_#in~x_1| v_is_pow2_~x_5) InVars {is_pow2_#in~x=|v_is_pow2_#in~x_1|} OutVars{is_pow2_~x=v_is_pow2_~x_5, is_pow2_#in~x=|v_is_pow2_#in~x_1|} AuxVars[] AssignedVars[is_pow2_~x] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L290 TraceCheckUtils]: 13: Hoare triple {495#true} [178] L47-2-->L47-3: Formula: (or (not (= (mod v_is_pow2_~x_1 2) 0)) (not (< 1 (mod v_is_pow2_~x_1 4294967296)))) InVars {is_pow2_~x=v_is_pow2_~x_1} OutVars{is_pow2_~x=v_is_pow2_~x_1} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {495#true} [182] L47-3-->is_pow2FINAL: Formula: (= (ite (= (mod v_is_pow2_~x_4 4294967296) 1) 1 0) |v_is_pow2_#res_1|) InVars {is_pow2_~x=v_is_pow2_~x_4} OutVars{is_pow2_~x=v_is_pow2_~x_4, is_pow2_#res=|v_is_pow2_#res_1|} AuxVars[] AssignedVars[is_pow2_#res] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {495#true} [184] is_pow2FINAL-->is_pow2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {495#true} {495#true} [236] is_pow2EXIT-->L64: AOR: Formula: (= |v_is_pow2_#resOutParam_1| |v_main_#t~ret14_5|) InVars {is_pow2_#res=|v_is_pow2_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_5|} AuxVars[] AssignedVars[main_#t~ret14, is_pow2_#res] LVA: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {495#true} [172] L64-->L64-1: Formula: (and (<= |v_main_#t~ret14_2| 2147483647) (<= 0 (+ |v_main_#t~ret14_2| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_2|} OutVars{main_#t~ret14=|v_main_#t~ret14_2|} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L272 TraceCheckUtils]: 18: Hoare triple {495#true} [176] L64-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {495#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {495#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {495#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,482 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {495#true} {495#true} [235] assume_abort_if_notEXIT-->L64-2: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {495#true} is VALID [2022-04-27 22:36:46,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {495#true} [181] L64-2-->L65: Formula: (and (= (store |v_#length_2| |v_main_#t~malloc15.base_1| (* v_main_~n~0_7 4)) |v_#length_1|) (= (store |v_#valid_5| |v_main_#t~malloc15.base_1| 1) |v_#valid_4|) (not (= |v_main_#t~malloc15.base_1| 0)) (< |v_main_#t~malloc15.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc15.offset_1| 0) (= (select |v_#valid_5| |v_main_#t~malloc15.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_7, #valid=|v_#valid_5|} OutVars{main_#t~malloc15.offset=|v_main_#t~malloc15.offset_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, main_#t~ret14=|v_main_#t~ret14_4|, #valid=|v_#valid_4|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_7, main_#t~malloc15.base=|v_main_#t~malloc15.base_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, main_#t~ret14, #valid, #length, main_#t~malloc15.base] {495#true} is VALID [2022-04-27 22:36:46,485 INFO L272 TraceCheckUtils]: 24: Hoare triple {495#true} [183] L65-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {533#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:46,485 INFO L290 TraceCheckUtils]: 25: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {495#true} is VALID [2022-04-27 22:36:46,486 INFO L290 TraceCheckUtils]: 26: Hoare triple {495#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,486 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {495#true} {495#true} [237] #Ultimate.meminitEXIT-->L65-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {495#true} is VALID [2022-04-27 22:36:46,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {495#true} [185] L65-1-->L67: Formula: (and (= (store |v_#length_4| |v_main_#t~malloc16.base_1| (* v_main_~n~0_9 4)) |v_#length_3|) (= v_main_~a~0.base_5 |v_main_#t~malloc15.base_3|) (= (select |v_#valid_7| |v_main_#t~malloc16.base_1|) 0) (not (= |v_main_#t~malloc16.base_1| 0)) (= v_main_~a~0.offset_5 |v_main_#t~malloc15.offset_3|) (= |v_#valid_6| (store |v_#valid_7| |v_main_#t~malloc16.base_1| 1)) (= |v_main_#t~malloc16.offset_1| 0) (< |v_main_#t~malloc16.base_1| |v_#StackHeapBarrier_2|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_3|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #valid=|v_#valid_7|, #length=|v_#length_4|, main_~n~0=v_main_~n~0_9, main_#t~malloc15.base=|v_main_#t~malloc15.base_3|} OutVars{main_#t~malloc15.offset=|v_main_#t~malloc15.offset_3|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #valid=|v_#valid_6|, main_~a~0.base=v_main_~a~0.base_5, main_#t~malloc16.offset=|v_main_#t~malloc16.offset_1|, #length=|v_#length_3|, main_~n~0=v_main_~n~0_9, main_#t~malloc15.base=|v_main_#t~malloc15.base_3|, main_~a~0.offset=v_main_~a~0.offset_5, main_#t~malloc16.base=|v_main_#t~malloc16.base_1|} AuxVars[] AssignedVars[#valid, main_~a~0.base, main_#t~malloc16.offset, #length, main_~a~0.offset, main_#t~malloc16.base] {495#true} is VALID [2022-04-27 22:36:46,488 INFO L272 TraceCheckUtils]: 29: Hoare triple {495#true} [187] L67-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {533#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:46,488 INFO L290 TraceCheckUtils]: 30: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {495#true} is VALID [2022-04-27 22:36:46,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {495#true} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,489 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {495#true} {495#true} [238] #Ultimate.meminitEXIT-->L67-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {495#true} is VALID [2022-04-27 22:36:46,490 INFO L290 TraceCheckUtils]: 33: Hoare triple {495#true} [189] L67-1-->L69-3: Formula: (and (= v_main_~i~1_1 0) (= v_main_~a0~0.base_3 |v_main_#t~malloc16.base_3|) (= v_main_~a0~0.offset_3 |v_main_#t~malloc16.offset_3|)) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_3|, main_#t~malloc16.base=|v_main_#t~malloc16.base_3|} OutVars{main_~i~1=v_main_~i~1_1, main_#t~malloc16.offset=|v_main_#t~malloc16.offset_3|, main_~a0~0.offset=v_main_~a0~0.offset_3, main_~a0~0.base=v_main_~a0~0.base_3, main_#t~malloc16.base=|v_main_#t~malloc16.base_3|} AuxVars[] AssignedVars[main_~a0~0.offset, main_~i~1, main_~a0~0.base] {519#(= main_~i~1 0)} is VALID [2022-04-27 22:36:46,491 INFO L290 TraceCheckUtils]: 34: Hoare triple {519#(= main_~i~1 0)} [191] L69-3-->L69-4: Formula: (not (< v_main_~i~1_3 v_main_~n~0_11)) InVars {main_~i~1=v_main_~i~1_3, main_~n~0=v_main_~n~0_11} OutVars{main_~i~1=v_main_~i~1_3, main_~n~0=v_main_~n~0_11} AuxVars[] AssignedVars[] {520#(<= main_~n~0 0)} is VALID [2022-04-27 22:36:46,491 INFO L272 TraceCheckUtils]: 35: Hoare triple {520#(<= main_~n~0 0)} [193] L69-4-->upsweepENTRY: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {533#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:46,492 INFO L290 TraceCheckUtils]: 36: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [196] upsweepENTRY-->L18-3: Formula: (and (= v_upsweep_~space~0_1 1) (= |v_upsweep_#in~a.base_1| v_upsweep_~a.base_1) (= v_upsweep_~a.offset_1 |v_upsweep_#in~a.offset_1|) (= v_upsweep_~n_2 |v_upsweep_#in~n_1|)) InVars {upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} OutVars{upsweep_~space~0=v_upsweep_~space~0_1, upsweep_~n=v_upsweep_~n_2, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_~a.base=v_upsweep_~a.base_1, upsweep_~a.offset=v_upsweep_~a.offset_1, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} AuxVars[] AssignedVars[upsweep_~space~0, upsweep_~n, upsweep_~a.base, upsweep_~a.offset] {495#true} is VALID [2022-04-27 22:36:46,492 INFO L290 TraceCheckUtils]: 37: Hoare triple {495#true} [199] L18-3-->L18-4: Formula: (not (< v_upsweep_~space~0_5 v_upsweep_~n_4)) InVars {upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} OutVars{upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,492 INFO L290 TraceCheckUtils]: 38: Hoare triple {495#true} [203] L18-4-->upsweepFINAL: Formula: (= |v_upsweep_#res_1| v_upsweep_~space~0_7) InVars {upsweep_~space~0=v_upsweep_~space~0_7} OutVars{upsweep_~space~0=v_upsweep_~space~0_7, upsweep_#res=|v_upsweep_#res_1|} AuxVars[] AssignedVars[upsweep_#res] {495#true} is VALID [2022-04-27 22:36:46,492 INFO L290 TraceCheckUtils]: 39: Hoare triple {495#true} [212] upsweepFINAL-->upsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,495 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {495#true} {520#(<= main_~n~0 0)} [239] upsweepEXIT-->L72: AOR: Formula: (= |v_main_#t~ret19_4| |v_upsweep_#resOutParam_1|) InVars {upsweep_#res=|v_upsweep_#resOutParam_1|} OutVars{main_#t~ret19=|v_main_#t~ret19_4|} AuxVars[] AssignedVars[main_#t~ret19, upsweep_#res] LVA: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {520#(<= main_~n~0 0)} is VALID [2022-04-27 22:36:46,496 INFO L290 TraceCheckUtils]: 41: Hoare triple {520#(<= main_~n~0 0)} [195] L72-->L73: Formula: (and (<= 0 (+ |v_main_#t~ret19_3| 2147483648)) (<= |v_main_#t~ret19_3| 2147483647) (= |v_main_#t~ret19_3| v_main_~space~1_1)) InVars {main_#t~ret19=|v_main_#t~ret19_3|} OutVars{main_~space~1=v_main_~space~1_1} AuxVars[] AssignedVars[main_#t~ret19, main_~space~1] {520#(<= main_~n~0 0)} is VALID [2022-04-27 22:36:46,496 INFO L272 TraceCheckUtils]: 42: Hoare triple {520#(<= main_~n~0 0)} [197] L73-->downsweepENTRY: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {533#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:46,497 INFO L290 TraceCheckUtils]: 43: Hoare triple {533#(= |#memory_int| |old(#memory_int)|)} [202] downsweepENTRY-->L33-3: Formula: (and (= |v_#memory_int_13| (store |v_#memory_int_14| v_downsweep_~a.base_1 (store (select |v_#memory_int_14| v_downsweep_~a.base_1) (+ v_downsweep_~a.offset_1 (- 4) (* v_downsweep_~n_2 4)) 0))) (= v_downsweep_~a.base_1 |v_downsweep_#in~a.base_1|) (= v_downsweep_~a.offset_1 |v_downsweep_#in~a.offset_1|) (= v_downsweep_~space_2 (let ((.cse0 (div |v_downsweep_#in~space_1| 2))) (ite (and (not (= (mod |v_downsweep_#in~space_1| 2) 0)) (< |v_downsweep_#in~space_1| 0)) (+ .cse0 1) .cse0))) (= v_downsweep_~n_2 |v_downsweep_#in~n_1|)) InVars {#memory_int=|v_#memory_int_14|, downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_~n=v_downsweep_~n_2, downsweep_~space=v_downsweep_~space_2, downsweep_~a.offset=v_downsweep_~a.offset_1, #memory_int=|v_#memory_int_13|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|, downsweep_~a.base=v_downsweep_~a.base_1} AuxVars[] AssignedVars[downsweep_~n, downsweep_~space, downsweep_~a.offset, #memory_int, downsweep_~a.base] {495#true} is VALID [2022-04-27 22:36:46,497 INFO L290 TraceCheckUtils]: 44: Hoare triple {495#true} [210] L33-3-->L33-4: Formula: (not (< 0 v_downsweep_~space_7)) InVars {downsweep_~space=v_downsweep_~space_7} OutVars{downsweep_~space=v_downsweep_~space_7} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,497 INFO L290 TraceCheckUtils]: 45: Hoare triple {495#true} [218] L33-4-->downsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {495#true} is VALID [2022-04-27 22:36:46,497 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {495#true} {520#(<= main_~n~0 0)} [241] downsweepEXIT-->L73-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {520#(<= main_~n~0 0)} is VALID [2022-04-27 22:36:46,499 INFO L272 TraceCheckUtils]: 47: Hoare triple {520#(<= main_~n~0 0)} [201] L73-1-->checkENTRY: Formula: (and (= v_main_~a0~0.offset_5 |v_check_#in~a0.offsetInParam_1|) (= v_main_~a0~0.base_5 |v_check_#in~a0.baseInParam_1|) (= |v_check_#in~a.offsetInParam_1| v_main_~a~0.offset_9) (= v_main_~n~0_19 |v_check_#in~nInParam_1|) (= |v_check_#in~a.baseInParam_1| v_main_~a~0.base_9)) InVars {main_~a~0.base=v_main_~a~0.base_9, main_~n~0=v_main_~n~0_19, main_~a~0.offset=v_main_~a~0.offset_9, main_~a0~0.offset=v_main_~a0~0.offset_5, main_~a0~0.base=v_main_~a0~0.base_5} OutVars{check_#in~a.offset=|v_check_#in~a.offsetInParam_1|, check_#in~a0.base=|v_check_#in~a0.baseInParam_1|, check_#in~n=|v_check_#in~nInParam_1|, check_#in~a.base=|v_check_#in~a.baseInParam_1|, check_#in~a0.offset=|v_check_#in~a0.offsetInParam_1|} AuxVars[] AssignedVars[check_#in~a.offset, main_~a0~0.offset, check_#in~a.base, main_~a~0.base, main_~n~0, main_~a~0.offset, check_#in~a0.base, check_#in~n, main_~a0~0.base, check_#in~a0.offset] {530#(<= |check_#in~n| 0)} is VALID [2022-04-27 22:36:46,499 INFO L290 TraceCheckUtils]: 48: Hoare triple {530#(<= |check_#in~n| 0)} [208] checkENTRY-->L54-3: Formula: (and (= v_check_~i~0_4 0) (= |v_check_#in~a.offset_1| v_check_~a.offset_1) (= v_check_~sum~0_4 0) (= v_check_~a.base_1 |v_check_#in~a.base_1|) (= |v_check_#in~a0.offset_1| v_check_~a0.offset_2) (= v_check_~n_1 |v_check_#in~n_1|) (= v_check_~a0.base_2 |v_check_#in~a0.base_1|)) InVars {check_#in~a.offset=|v_check_#in~a.offset_1|, check_#in~n=|v_check_#in~n_1|, check_#in~a0.base=|v_check_#in~a0.base_1|, check_#in~a.base=|v_check_#in~a.base_1|, check_#in~a0.offset=|v_check_#in~a0.offset_1|} OutVars{check_#in~a.offset=|v_check_#in~a.offset_1|, check_~a.base=v_check_~a.base_1, check_~i~0=v_check_~i~0_4, check_#in~a0.base=|v_check_#in~a0.base_1|, check_#in~a0.offset=|v_check_#in~a0.offset_1|, check_~a0.base=v_check_~a0.base_2, check_~a.offset=v_check_~a.offset_1, check_~sum~0=v_check_~sum~0_4, check_#in~a.base=|v_check_#in~a.base_1|, check_~a0.offset=v_check_~a0.offset_2, check_~n=v_check_~n_1, check_#in~n=|v_check_#in~n_1|} AuxVars[] AssignedVars[check_~a0.base, check_~a.base, check_~a.offset, check_~i~0, check_~sum~0, check_~a0.offset, check_~n] {531#(and (<= check_~n 0) (= check_~i~0 0))} is VALID [2022-04-27 22:36:46,500 INFO L290 TraceCheckUtils]: 49: Hoare triple {531#(and (<= check_~n 0) (= check_~i~0 0))} [217] L54-3-->L55: Formula: (and (= |v_check_#t~mem11_3| (select (select |v_#memory_int_12| v_check_~a.base_2) (+ (* v_check_~i~0_7 4) v_check_~a.offset_2))) (< v_check_~i~0_7 v_check_~n_3)) InVars {#memory_int=|v_#memory_int_12|, check_~a.base=v_check_~a.base_2, check_~a.offset=v_check_~a.offset_2, check_~n=v_check_~n_3, check_~i~0=v_check_~i~0_7} OutVars{check_~a.base=v_check_~a.base_2, check_~a.offset=v_check_~a.offset_2, check_~i~0=v_check_~i~0_7, check_#t~mem11=|v_check_#t~mem11_3|, #memory_int=|v_#memory_int_12|, check_~n=v_check_~n_3} AuxVars[] AssignedVars[check_#t~mem11] {496#false} is VALID [2022-04-27 22:36:46,500 INFO L272 TraceCheckUtils]: 50: Hoare triple {496#false} [223] L55-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= v_check_~sum~0_5 |v_check_#t~mem11_4|) 1 0)) InVars {check_~sum~0=v_check_~sum~0_5, check_#t~mem11=|v_check_#t~mem11_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, check_~sum~0, check_#t~mem11] {496#false} is VALID [2022-04-27 22:36:46,500 INFO L290 TraceCheckUtils]: 51: Hoare triple {496#false} [226] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {496#false} is VALID [2022-04-27 22:36:46,500 INFO L290 TraceCheckUtils]: 52: Hoare triple {496#false} [228] L13-->L13-1: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {496#false} is VALID [2022-04-27 22:36:46,500 INFO L290 TraceCheckUtils]: 53: Hoare triple {496#false} [230] L13-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {496#false} is VALID [2022-04-27 22:36:46,501 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-27 22:36:46,501 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 22:36:46,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [558625118] [2022-04-27 22:36:46,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [558625118] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 22:36:46,501 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 22:36:46,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-27 22:36:46,501 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1925213655] [2022-04-27 22:36:46,501 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 22:36:46,503 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-27 22:36:46,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 22:36:46,503 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-27 22:36:46,541 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-27 22:36:46,541 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 22:36:46,542 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 22:36:46,542 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 22:36:46,542 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-27 22:36:46,542 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-27 22:36:50,844 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-27 22:36:55,137 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-27 22:36:58,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 22:36:58,127 INFO L93 Difference]: Finished difference Result 81 states and 95 transitions. [2022-04-27 22:36:58,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 22:36:58,127 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-27 22:36:58,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 22:36:58,128 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-27 22:36:58,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-27 22:36:58,131 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-27 22:36:58,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-27 22:36:58,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 95 transitions. [2022-04-27 22:36:58,211 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-27 22:36:58,213 INFO L225 Difference]: With dead ends: 81 [2022-04-27 22:36:58,213 INFO L226 Difference]: Without dead ends: 65 [2022-04-27 22:36:58,213 INFO L412 NwaCegarLoop]: 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-27 22:36:58,214 INFO L413 NwaCegarLoop]: 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.5s IncrementalHoareTripleChecker+Time [2022-04-27 22:36:58,214 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 55 Invalid, 350 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 305 Invalid, 2 Unknown, 0 Unchecked, 4.5s Time] [2022-04-27 22:36:58,215 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-27 22:36:58,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 58. [2022-04-27 22:36:58,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 22:36:58,219 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-27 22:36:58,219 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-27 22:36:58,220 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-27 22:36:58,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 22:36:58,222 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2022-04-27 22:36:58,222 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 75 transitions. [2022-04-27 22:36:58,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 22:36:58,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 22:36:58,223 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-27 22:36:58,223 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-27 22:36:58,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 22:36:58,225 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2022-04-27 22:36:58,225 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 75 transitions. [2022-04-27 22:36:58,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 22:36:58,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 22:36:58,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 22:36:58,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 22:36:58,226 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-27 22:36:58,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 66 transitions. [2022-04-27 22:36:58,228 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 66 transitions. Word has length 54 [2022-04-27 22:36:58,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 22:36:58,228 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 66 transitions. [2022-04-27 22:36:58,228 INFO L496 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-27 22:36:58,228 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 22:36:58,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 22:36:58,229 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 22:36:58,229 INFO L195 NwaCegarLoop]: 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-27 22:36:58,229 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 22:36:58,229 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 22:36:58,230 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 22:36:58,230 INFO L85 PathProgramCache]: Analyzing trace with hash -1042904707, now seen corresponding path program 1 times [2022-04-27 22:36:58,230 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 22:36:58,230 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2017564283] [2022-04-27 22:36:58,230 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 22:36:58,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 22:36:58,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 22:36:58,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {924#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [165] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_18| 1))) (and (= 17 (select |v_#length_5| 2)) (= (select .cse0 1) 0) (= (select .cse0 0) 48) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_8| 0) 0) (= (select |v_#valid_8| 1) 1) (= (select |v_#valid_8| 2) 1) (= (select |v_#length_5| 3) 12) (= (select |v_#valid_8| 3) 1) (= 2 (select |v_#length_5| 1)) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_18|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_18|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_5|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {882#true} is VALID [2022-04-27 22:36:58,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {882#true} [168] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,476 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {882#true} {882#true} [233] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,476 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 22:36:58,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,487 INFO L290 TraceCheckUtils]: 0: Hoare triple {882#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {882#true} is VALID [2022-04-27 22:36:58,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {882#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {882#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {882#true} {882#true} [234] assume_abort_if_notEXIT-->L63-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {882#true} is VALID [2022-04-27 22:36:58,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 22:36:58,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,492 INFO L290 TraceCheckUtils]: 0: Hoare triple {882#true} [173] is_pow2ENTRY-->L47-2: Formula: (= |v_is_pow2_#in~x_1| v_is_pow2_~x_5) InVars {is_pow2_#in~x=|v_is_pow2_#in~x_1|} OutVars{is_pow2_~x=v_is_pow2_~x_5, is_pow2_#in~x=|v_is_pow2_#in~x_1|} AuxVars[] AssignedVars[is_pow2_~x] {882#true} is VALID [2022-04-27 22:36:58,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {882#true} [178] L47-2-->L47-3: Formula: (or (not (= (mod v_is_pow2_~x_1 2) 0)) (not (< 1 (mod v_is_pow2_~x_1 4294967296)))) InVars {is_pow2_~x=v_is_pow2_~x_1} OutVars{is_pow2_~x=v_is_pow2_~x_1} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {882#true} [182] L47-3-->is_pow2FINAL: Formula: (= (ite (= (mod v_is_pow2_~x_4 4294967296) 1) 1 0) |v_is_pow2_#res_1|) InVars {is_pow2_~x=v_is_pow2_~x_4} OutVars{is_pow2_~x=v_is_pow2_~x_4, is_pow2_#res=|v_is_pow2_#res_1|} AuxVars[] AssignedVars[is_pow2_#res] {882#true} is VALID [2022-04-27 22:36:58,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {882#true} [184] is_pow2FINAL-->is_pow2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,493 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {882#true} {882#true} [236] is_pow2EXIT-->L64: AOR: Formula: (= |v_is_pow2_#resOutParam_1| |v_main_#t~ret14_5|) InVars {is_pow2_#res=|v_is_pow2_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_5|} AuxVars[] AssignedVars[main_#t~ret14, is_pow2_#res] LVA: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {882#true} is VALID [2022-04-27 22:36:58,493 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 22:36:58,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,495 INFO L290 TraceCheckUtils]: 0: Hoare triple {882#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {882#true} is VALID [2022-04-27 22:36:58,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {882#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {882#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {882#true} {882#true} [235] assume_abort_if_notEXIT-->L64-2: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {882#true} is VALID [2022-04-27 22:36:58,505 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 22:36:58,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,522 INFO L290 TraceCheckUtils]: 0: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-27 22:36:58,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-27 22:36:58,523 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {900#(= (select |#valid| |main_#t~malloc15.base|) 1)} [237] #Ultimate.meminitEXIT-->L65-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {904#(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-27 22:36:58,523 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 22:36:58,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-27 22:36:58,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-27 22:36:58,546 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} {905#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} [238] #Ultimate.meminitEXIT-->L67-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {905#(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-27 22:36:58,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-27 22:36:58,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [196] upsweepENTRY-->L18-3: Formula: (and (= v_upsweep_~space~0_1 1) (= |v_upsweep_#in~a.base_1| v_upsweep_~a.base_1) (= v_upsweep_~a.offset_1 |v_upsweep_#in~a.offset_1|) (= v_upsweep_~n_2 |v_upsweep_#in~n_1|)) InVars {upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} OutVars{upsweep_~space~0=v_upsweep_~space~0_1, upsweep_~n=v_upsweep_~n_2, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_~a.base=v_upsweep_~a.base_1, upsweep_~a.offset=v_upsweep_~a.offset_1, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} AuxVars[] AssignedVars[upsweep_~space~0, upsweep_~n, upsweep_~a.base, upsweep_~a.offset] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [199] L18-3-->L18-4: Formula: (not (< v_upsweep_~space~0_5 v_upsweep_~n_4)) InVars {upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} OutVars{upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} AuxVars[] AssignedVars[] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [203] L18-4-->upsweepFINAL: Formula: (= |v_upsweep_#res_1| v_upsweep_~space~0_7) InVars {upsweep_~space~0=v_upsweep_~space~0_7} OutVars{upsweep_~space~0=v_upsweep_~space~0_7, upsweep_#res=|v_upsweep_#res_1|} AuxVars[] AssignedVars[upsweep_#res] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,589 INFO L290 TraceCheckUtils]: 3: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [212] upsweepFINAL-->upsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,590 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {925#(= |#memory_int| |old(#memory_int)|)} {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [239] upsweepEXIT-->L72: AOR: Formula: (= |v_main_#t~ret19_4| |v_upsweep_#resOutParam_1|) InVars {upsweep_#res=|v_upsweep_#resOutParam_1|} OutVars{main_#t~ret19=|v_main_#t~ret19_4|} AuxVars[] AssignedVars[main_#t~ret19, upsweep_#res] LVA: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {909#(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-27 22:36:58,590 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-27 22:36:58,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,628 INFO L290 TraceCheckUtils]: 0: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [202] downsweepENTRY-->L33-3: Formula: (and (= |v_#memory_int_13| (store |v_#memory_int_14| v_downsweep_~a.base_1 (store (select |v_#memory_int_14| v_downsweep_~a.base_1) (+ v_downsweep_~a.offset_1 (- 4) (* v_downsweep_~n_2 4)) 0))) (= v_downsweep_~a.base_1 |v_downsweep_#in~a.base_1|) (= v_downsweep_~a.offset_1 |v_downsweep_#in~a.offset_1|) (= v_downsweep_~space_2 (let ((.cse0 (div |v_downsweep_#in~space_1| 2))) (ite (and (not (= (mod |v_downsweep_#in~space_1| 2) 0)) (< |v_downsweep_#in~space_1| 0)) (+ .cse0 1) .cse0))) (= v_downsweep_~n_2 |v_downsweep_#in~n_1|)) InVars {#memory_int=|v_#memory_int_14|, downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_~n=v_downsweep_~n_2, downsweep_~space=v_downsweep_~space_2, downsweep_~a.offset=v_downsweep_~a.offset_1, #memory_int=|v_#memory_int_13|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|, downsweep_~a.base=v_downsweep_~a.base_1} AuxVars[] AssignedVars[downsweep_~n, downsweep_~space, downsweep_~a.offset, #memory_int, downsweep_~a.base] {928#(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-27 22:36:58,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {928#(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|))))} [210] L33-3-->L33-4: Formula: (not (< 0 v_downsweep_~space_7)) InVars {downsweep_~space=v_downsweep_~space_7} OutVars{downsweep_~space=v_downsweep_~space_7} AuxVars[] AssignedVars[] {928#(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-27 22:36:58,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {928#(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|))))} [218] L33-4-->downsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {928#(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-27 22:36:58,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {928#(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|))))} {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [241] downsweepEXIT-->L73-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {909#(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-27 22:36:58,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {882#true} [163] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {924#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 22:36:58,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {924#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [165] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_18| 1))) (and (= 17 (select |v_#length_5| 2)) (= (select .cse0 1) 0) (= (select .cse0 0) 48) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_8| 0) 0) (= (select |v_#valid_8| 1) 1) (= (select |v_#valid_8| 2) 1) (= (select |v_#length_5| 3) 12) (= (select |v_#valid_8| 3) 1) (= 2 (select |v_#length_5| 1)) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_18|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_18|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_5|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {882#true} is VALID [2022-04-27 22:36:58,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {882#true} [168] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {882#true} {882#true} [233] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {882#true} [164] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {882#true} [167] mainENTRY-->L63: Formula: (and (<= |v_main_#t~nondet13_2| 2147483647) (<= 0 (+ |v_main_#t~nondet13_2| 2147483648)) (= v_main_~n~0_4 |v_main_#t~nondet13_2|)) InVars {main_#t~nondet13=|v_main_#t~nondet13_2|} OutVars{main_~n~0=v_main_~n~0_4} AuxVars[] AssignedVars[main_#t~nondet13, main_~n~0] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {882#true} [169] L63-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {882#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {882#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {882#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {882#true} {882#true} [234] assume_abort_if_notEXIT-->L63-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (< v_main_~n~0_13 1073741824) (<= 0 v_main_~n~0_13)) 1 0)) InVars {main_~n~0=v_main_~n~0_13} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~n~0, assume_abort_if_not_#in~cond] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L272 TraceCheckUtils]: 11: Hoare triple {882#true} [170] L63-1-->is_pow2ENTRY: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {882#true} [173] is_pow2ENTRY-->L47-2: Formula: (= |v_is_pow2_#in~x_1| v_is_pow2_~x_5) InVars {is_pow2_#in~x=|v_is_pow2_#in~x_1|} OutVars{is_pow2_~x=v_is_pow2_~x_5, is_pow2_#in~x=|v_is_pow2_#in~x_1|} AuxVars[] AssignedVars[is_pow2_~x] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L290 TraceCheckUtils]: 13: Hoare triple {882#true} [178] L47-2-->L47-3: Formula: (or (not (= (mod v_is_pow2_~x_1 2) 0)) (not (< 1 (mod v_is_pow2_~x_1 4294967296)))) InVars {is_pow2_~x=v_is_pow2_~x_1} OutVars{is_pow2_~x=v_is_pow2_~x_1} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L290 TraceCheckUtils]: 14: Hoare triple {882#true} [182] L47-3-->is_pow2FINAL: Formula: (= (ite (= (mod v_is_pow2_~x_4 4294967296) 1) 1 0) |v_is_pow2_#res_1|) InVars {is_pow2_~x=v_is_pow2_~x_4} OutVars{is_pow2_~x=v_is_pow2_~x_4, is_pow2_#res=|v_is_pow2_#res_1|} AuxVars[] AssignedVars[is_pow2_#res] {882#true} is VALID [2022-04-27 22:36:58,631 INFO L290 TraceCheckUtils]: 15: Hoare triple {882#true} [184] is_pow2FINAL-->is_pow2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,632 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {882#true} {882#true} [236] is_pow2EXIT-->L64: AOR: Formula: (= |v_is_pow2_#resOutParam_1| |v_main_#t~ret14_5|) InVars {is_pow2_#res=|v_is_pow2_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_5|} AuxVars[] AssignedVars[main_#t~ret14, is_pow2_#res] LVA: Formula: (= |v_is_pow2_#in~xInParam_1| v_main_~n~0_14) InVars {main_~n~0=v_main_~n~0_14} OutVars{is_pow2_#in~x=|v_is_pow2_#in~xInParam_1|} AuxVars[] AssignedVars[is_pow2_#in~x, main_~n~0] {882#true} is VALID [2022-04-27 22:36:58,632 INFO L290 TraceCheckUtils]: 17: Hoare triple {882#true} [172] L64-->L64-1: Formula: (and (<= |v_main_#t~ret14_2| 2147483647) (<= 0 (+ |v_main_#t~ret14_2| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_2|} OutVars{main_#t~ret14=|v_main_#t~ret14_2|} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,632 INFO L272 TraceCheckUtils]: 18: Hoare triple {882#true} [176] L64-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {882#true} is VALID [2022-04-27 22:36:58,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {882#true} [171] assume_abort_if_notENTRY-->L6: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {882#true} is VALID [2022-04-27 22:36:58,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {882#true} [175] L6-->L6-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,632 INFO L290 TraceCheckUtils]: 21: Hoare triple {882#true} [180] L6-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {882#true} is VALID [2022-04-27 22:36:58,632 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {882#true} {882#true} [235] assume_abort_if_notEXIT-->L64-2: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| |v_main_#t~ret14_6|) InVars {main_#t~ret14=|v_main_#t~ret14_6|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_#t~ret14, assume_abort_if_not_#in~cond] {882#true} is VALID [2022-04-27 22:36:58,633 INFO L290 TraceCheckUtils]: 23: Hoare triple {882#true} [181] L64-2-->L65: Formula: (and (= (store |v_#length_2| |v_main_#t~malloc15.base_1| (* v_main_~n~0_7 4)) |v_#length_1|) (= (store |v_#valid_5| |v_main_#t~malloc15.base_1| 1) |v_#valid_4|) (not (= |v_main_#t~malloc15.base_1| 0)) (< |v_main_#t~malloc15.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc15.offset_1| 0) (= (select |v_#valid_5| |v_main_#t~malloc15.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_7, #valid=|v_#valid_5|} OutVars{main_#t~malloc15.offset=|v_main_#t~malloc15.offset_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, main_#t~ret14=|v_main_#t~ret14_4|, #valid=|v_#valid_4|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_7, main_#t~malloc15.base=|v_main_#t~malloc15.base_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, main_#t~ret14, #valid, #length, main_#t~malloc15.base] {900#(= (select |#valid| |main_#t~malloc15.base|) 1)} is VALID [2022-04-27 22:36:58,633 INFO L272 TraceCheckUtils]: 24: Hoare triple {900#(= (select |#valid| |main_#t~malloc15.base|) 1)} [183] L65-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-27 22:36:58,634 INFO L290 TraceCheckUtils]: 26: Hoare triple {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-27 22:36:58,635 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {926#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {900#(= (select |#valid| |main_#t~malloc15.base|) 1)} [237] #Ultimate.meminitEXIT-->L65-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc15.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_15 4)) (= v_main_~n~0_15 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc15.offset_4|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_4|, main_~n~0=v_main_~n~0_15, main_#t~malloc15.base=|v_main_#t~malloc15.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_1|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_1|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_1|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_1|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_1|} AuxVars[] AssignedVars[main_#t~malloc15.offset, #Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, main_#t~malloc15.base, #Ultimate.meminit_#ptr.offset] {904#(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-27 22:36:58,636 INFO L290 TraceCheckUtils]: 28: Hoare triple {904#(and (= (select |#valid| |main_#t~malloc15.base|) 1) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)))} [185] L65-1-->L67: Formula: (and (= (store |v_#length_4| |v_main_#t~malloc16.base_1| (* v_main_~n~0_9 4)) |v_#length_3|) (= v_main_~a~0.base_5 |v_main_#t~malloc15.base_3|) (= (select |v_#valid_7| |v_main_#t~malloc16.base_1|) 0) (not (= |v_main_#t~malloc16.base_1| 0)) (= v_main_~a~0.offset_5 |v_main_#t~malloc15.offset_3|) (= |v_#valid_6| (store |v_#valid_7| |v_main_#t~malloc16.base_1| 1)) (= |v_main_#t~malloc16.offset_1| 0) (< |v_main_#t~malloc16.base_1| |v_#StackHeapBarrier_2|)) InVars {main_#t~malloc15.offset=|v_main_#t~malloc15.offset_3|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #valid=|v_#valid_7|, #length=|v_#length_4|, main_~n~0=v_main_~n~0_9, main_#t~malloc15.base=|v_main_#t~malloc15.base_3|} OutVars{main_#t~malloc15.offset=|v_main_#t~malloc15.offset_3|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #valid=|v_#valid_6|, main_~a~0.base=v_main_~a~0.base_5, main_#t~malloc16.offset=|v_main_#t~malloc16.offset_1|, #length=|v_#length_3|, main_~n~0=v_main_~n~0_9, main_#t~malloc15.base=|v_main_#t~malloc15.base_3|, main_~a~0.offset=v_main_~a~0.offset_5, main_#t~malloc16.base=|v_main_#t~malloc16.base_1|} AuxVars[] AssignedVars[#valid, main_~a~0.base, main_#t~malloc16.offset, #length, main_~a~0.offset, main_#t~malloc16.base] {905#(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-27 22:36:58,636 INFO L272 TraceCheckUtils]: 29: Hoare triple {905#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} [187] L67-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,637 INFO L290 TraceCheckUtils]: 30: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [186] #Ultimate.meminitENTRY-->#Ultimate.meminitFINAL: Formula: (= |v_#memory_int_23| (store |v_#memory_int_24| |v_#Ultimate.meminit_#ptr.base_1| ((as const (Array Int Int)) 0))) InVars {#memory_int=|v_#memory_int_24|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} OutVars{#memory_int=|v_#memory_int_23|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.base_1|} AuxVars[] AssignedVars[#memory_int] {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-27 22:36:58,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} [188] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} is VALID [2022-04-27 22:36:58,638 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {927#(= |#memory_int| (store |old(#memory_int)| |#Ultimate.meminit_#ptr.base| (select |#memory_int| |#Ultimate.meminit_#ptr.base|)))} {905#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} [238] #Ultimate.meminitEXIT-->L67-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#ptr.baseInParam_2| |v_main_#t~malloc16.base_4|) (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_2| 4) (= |v_main_#t~malloc16.offset_4| |v_#Ultimate.meminit_#ptr.offsetInParam_2|) (= v_main_~n~0_16 |v_#Ultimate.meminit_#amountOfFieldsInParam_2|) (= |v_#Ultimate.meminit_#productInParam_2| (* v_main_~n~0_16 4))) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_4|, main_~n~0=v_main_~n~0_16, main_#t~malloc16.base=|v_main_#t~malloc16.base_4|} OutVars{#Ultimate.meminit_#product=|v_#Ultimate.meminit_#productInParam_2|, #Ultimate.meminit_#ptr.base=|v_#Ultimate.meminit_#ptr.baseInParam_2|, #Ultimate.meminit_#sizeOfFields=|v_#Ultimate.meminit_#sizeOfFieldsInParam_2|, #Ultimate.meminit_#ptr.offset=|v_#Ultimate.meminit_#ptr.offsetInParam_2|, #Ultimate.meminit_#amountOfFields=|v_#Ultimate.meminit_#amountOfFieldsInParam_2|} AuxVars[] AssignedVars[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc16.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset, main_#t~malloc16.base] {905#(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-27 22:36:58,639 INFO L290 TraceCheckUtils]: 33: Hoare triple {905#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= |main_#t~malloc16.base| main_~a~0.base)))} [189] L67-1-->L69-3: Formula: (and (= v_main_~i~1_1 0) (= v_main_~a0~0.base_3 |v_main_#t~malloc16.base_3|) (= v_main_~a0~0.offset_3 |v_main_#t~malloc16.offset_3|)) InVars {main_#t~malloc16.offset=|v_main_#t~malloc16.offset_3|, main_#t~malloc16.base=|v_main_#t~malloc16.base_3|} OutVars{main_~i~1=v_main_~i~1_1, main_#t~malloc16.offset=|v_main_#t~malloc16.offset_3|, main_~a0~0.offset=v_main_~a0~0.offset_3, main_~a0~0.base=v_main_~a0~0.base_3, main_#t~malloc16.base=|v_main_#t~malloc16.base_3|} AuxVars[] AssignedVars[main_~a0~0.offset, main_~i~1, main_~a0~0.base] {909#(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-27 22:36:58,639 INFO L290 TraceCheckUtils]: 34: Hoare triple {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [192] L69-3-->L69-2: Formula: (and (= (store |v_#memory_int_10| v_main_~a0~0.base_4 (let ((.cse0 (* v_main_~i~1_4 4))) (store (select |v_#memory_int_10| v_main_~a0~0.base_4) (+ v_main_~a0~0.offset_4 .cse0) (select (select |v_#memory_int_10| v_main_~a~0.base_6) (+ v_main_~a~0.offset_6 .cse0))))) |v_#memory_int_9|) (< v_main_~i~1_4 v_main_~n~0_12)) InVars {main_~a0~0.offset=v_main_~a0~0.offset_4, #memory_int=|v_#memory_int_10|, main_~a~0.base=v_main_~a~0.base_6, main_~i~1=v_main_~i~1_4, main_~n~0=v_main_~n~0_12, main_~a~0.offset=v_main_~a~0.offset_6, main_~a0~0.base=v_main_~a0~0.base_4} OutVars{main_~a0~0.offset=v_main_~a0~0.offset_4, #memory_int=|v_#memory_int_9|, main_~a~0.base=v_main_~a~0.base_6, main_~i~1=v_main_~i~1_4, main_~n~0=v_main_~n~0_12, main_~a~0.offset=v_main_~a~0.offset_6, main_#t~mem18=|v_main_#t~mem18_1|, main_~a0~0.base=v_main_~a0~0.base_4} AuxVars[] AssignedVars[#memory_int, main_#t~mem18] {909#(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-27 22:36:58,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [194] L69-2-->L69-3: Formula: (= v_main_~i~1_5 (+ v_main_~i~1_6 1)) InVars {main_~i~1=v_main_~i~1_6} OutVars{main_~i~1=v_main_~i~1_5, main_#t~post17=|v_main_#t~post17_1|} AuxVars[] AssignedVars[main_~i~1, main_#t~post17] {909#(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-27 22:36:58,640 INFO L290 TraceCheckUtils]: 36: Hoare triple {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [191] L69-3-->L69-4: Formula: (not (< v_main_~i~1_3 v_main_~n~0_11)) InVars {main_~i~1=v_main_~i~1_3, main_~n~0=v_main_~n~0_11} OutVars{main_~i~1=v_main_~i~1_3, main_~n~0=v_main_~n~0_11} AuxVars[] AssignedVars[] {909#(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-27 22:36:58,641 INFO L272 TraceCheckUtils]: 37: Hoare triple {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [193] L69-4-->upsweepENTRY: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [196] upsweepENTRY-->L18-3: Formula: (and (= v_upsweep_~space~0_1 1) (= |v_upsweep_#in~a.base_1| v_upsweep_~a.base_1) (= v_upsweep_~a.offset_1 |v_upsweep_#in~a.offset_1|) (= v_upsweep_~n_2 |v_upsweep_#in~n_1|)) InVars {upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} OutVars{upsweep_~space~0=v_upsweep_~space~0_1, upsweep_~n=v_upsweep_~n_2, upsweep_#in~n=|v_upsweep_#in~n_1|, upsweep_#in~a.offset=|v_upsweep_#in~a.offset_1|, upsweep_~a.base=v_upsweep_~a.base_1, upsweep_~a.offset=v_upsweep_~a.offset_1, upsweep_#in~a.base=|v_upsweep_#in~a.base_1|} AuxVars[] AssignedVars[upsweep_~space~0, upsweep_~n, upsweep_~a.base, upsweep_~a.offset] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,642 INFO L290 TraceCheckUtils]: 39: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [199] L18-3-->L18-4: Formula: (not (< v_upsweep_~space~0_5 v_upsweep_~n_4)) InVars {upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} OutVars{upsweep_~space~0=v_upsweep_~space~0_5, upsweep_~n=v_upsweep_~n_4} AuxVars[] AssignedVars[] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,642 INFO L290 TraceCheckUtils]: 40: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [203] L18-4-->upsweepFINAL: Formula: (= |v_upsweep_#res_1| v_upsweep_~space~0_7) InVars {upsweep_~space~0=v_upsweep_~space~0_7} OutVars{upsweep_~space~0=v_upsweep_~space~0_7, upsweep_#res=|v_upsweep_#res_1|} AuxVars[] AssignedVars[upsweep_#res] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,642 INFO L290 TraceCheckUtils]: 41: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [212] upsweepFINAL-->upsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,643 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {925#(= |#memory_int| |old(#memory_int)|)} {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [239] upsweepEXIT-->L72: AOR: Formula: (= |v_main_#t~ret19_4| |v_upsweep_#resOutParam_1|) InVars {upsweep_#res=|v_upsweep_#resOutParam_1|} OutVars{main_#t~ret19=|v_main_#t~ret19_4|} AuxVars[] AssignedVars[main_#t~ret19, upsweep_#res] LVA: Formula: (and (= v_main_~a~0.base_7 |v_upsweep_#in~a.baseInParam_1|) (= |v_upsweep_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= v_main_~n~0_17 |v_upsweep_#in~nInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_7, main_~n~0=v_main_~n~0_17, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{upsweep_#in~a.offset=|v_upsweep_#in~a.offsetInParam_1|, upsweep_#in~n=|v_upsweep_#in~nInParam_1|, upsweep_#in~a.base=|v_upsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[upsweep_#in~n, main_~a~0.base, upsweep_#in~a.offset, main_~n~0, main_~a~0.offset, upsweep_#in~a.base] {909#(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-27 22:36:58,643 INFO L290 TraceCheckUtils]: 43: Hoare triple {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [195] L72-->L73: Formula: (and (<= 0 (+ |v_main_#t~ret19_3| 2147483648)) (<= |v_main_#t~ret19_3| 2147483647) (= |v_main_#t~ret19_3| v_main_~space~1_1)) InVars {main_#t~ret19=|v_main_#t~ret19_3|} OutVars{main_~space~1=v_main_~space~1_1} AuxVars[] AssignedVars[main_#t~ret19, main_~space~1] {909#(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-27 22:36:58,644 INFO L272 TraceCheckUtils]: 44: Hoare triple {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [197] L73-->downsweepENTRY: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {925#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-27 22:36:58,645 INFO L290 TraceCheckUtils]: 45: Hoare triple {925#(= |#memory_int| |old(#memory_int)|)} [202] downsweepENTRY-->L33-3: Formula: (and (= |v_#memory_int_13| (store |v_#memory_int_14| v_downsweep_~a.base_1 (store (select |v_#memory_int_14| v_downsweep_~a.base_1) (+ v_downsweep_~a.offset_1 (- 4) (* v_downsweep_~n_2 4)) 0))) (= v_downsweep_~a.base_1 |v_downsweep_#in~a.base_1|) (= v_downsweep_~a.offset_1 |v_downsweep_#in~a.offset_1|) (= v_downsweep_~space_2 (let ((.cse0 (div |v_downsweep_#in~space_1| 2))) (ite (and (not (= (mod |v_downsweep_#in~space_1| 2) 0)) (< |v_downsweep_#in~space_1| 0)) (+ .cse0 1) .cse0))) (= v_downsweep_~n_2 |v_downsweep_#in~n_1|)) InVars {#memory_int=|v_#memory_int_14|, downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offset_1|, downsweep_#in~space=|v_downsweep_#in~space_1|, downsweep_~n=v_downsweep_~n_2, downsweep_~space=v_downsweep_~space_2, downsweep_~a.offset=v_downsweep_~a.offset_1, #memory_int=|v_#memory_int_13|, downsweep_#in~n=|v_downsweep_#in~n_1|, downsweep_#in~a.base=|v_downsweep_#in~a.base_1|, downsweep_~a.base=v_downsweep_~a.base_1} AuxVars[] AssignedVars[downsweep_~n, downsweep_~space, downsweep_~a.offset, #memory_int, downsweep_~a.base] {928#(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-27 22:36:58,646 INFO L290 TraceCheckUtils]: 46: Hoare triple {928#(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|))))} [210] L33-3-->L33-4: Formula: (not (< 0 v_downsweep_~space_7)) InVars {downsweep_~space=v_downsweep_~space_7} OutVars{downsweep_~space=v_downsweep_~space_7} AuxVars[] AssignedVars[] {928#(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-27 22:36:58,647 INFO L290 TraceCheckUtils]: 47: Hoare triple {928#(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|))))} [218] L33-4-->downsweepEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {928#(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-27 22:36:58,651 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {928#(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|))))} {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [241] downsweepEXIT-->L73-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_downsweep_#in~a.baseInParam_1| v_main_~a~0.base_8) (= v_main_~n~0_18 |v_downsweep_#in~nInParam_1|) (= |v_downsweep_#in~spaceInParam_1| v_main_~space~1_3) (= v_main_~a~0.offset_8 |v_downsweep_#in~a.offsetInParam_1|)) InVars {main_~a~0.base=v_main_~a~0.base_8, main_~n~0=v_main_~n~0_18, main_~a~0.offset=v_main_~a~0.offset_8, main_~space~1=v_main_~space~1_3} OutVars{downsweep_#in~a.offset=|v_downsweep_#in~a.offsetInParam_1|, downsweep_#in~n=|v_downsweep_#in~nInParam_1|, downsweep_#in~space=|v_downsweep_#in~spaceInParam_1|, downsweep_#in~a.base=|v_downsweep_#in~a.baseInParam_1|} AuxVars[] AssignedVars[downsweep_#in~a.offset, downsweep_#in~space, main_~a~0.base, downsweep_#in~n, downsweep_#in~a.base, main_~n~0, main_~a~0.offset, main_~space~1] {909#(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-27 22:36:58,652 INFO L272 TraceCheckUtils]: 49: Hoare triple {909#(and (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) (not (= main_~a~0.base main_~a0~0.base)))} [201] L73-1-->checkENTRY: Formula: (and (= v_main_~a0~0.offset_5 |v_check_#in~a0.offsetInParam_1|) (= v_main_~a0~0.base_5 |v_check_#in~a0.baseInParam_1|) (= |v_check_#in~a.offsetInParam_1| v_main_~a~0.offset_9) (= v_main_~n~0_19 |v_check_#in~nInParam_1|) (= |v_check_#in~a.baseInParam_1| v_main_~a~0.base_9)) InVars {main_~a~0.base=v_main_~a~0.base_9, main_~n~0=v_main_~n~0_19, main_~a~0.offset=v_main_~a~0.offset_9, main_~a0~0.offset=v_main_~a0~0.offset_5, main_~a0~0.base=v_main_~a0~0.base_5} OutVars{check_#in~a.offset=|v_check_#in~a.offsetInParam_1|, check_#in~a0.base=|v_check_#in~a0.baseInParam_1|, check_#in~n=|v_check_#in~nInParam_1|, check_#in~a.base=|v_check_#in~a.baseInParam_1|, check_#in~a0.offset=|v_check_#in~a0.offsetInParam_1|} AuxVars[] AssignedVars[check_#in~a.offset, main_~a0~0.offset, check_#in~a.base, main_~a~0.base, main_~n~0, main_~a~0.offset, check_#in~a0.base, check_#in~n, main_~a0~0.base, check_#in~a0.offset] {919#(= (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-27 22:36:58,653 INFO L290 TraceCheckUtils]: 50: Hoare triple {919#(= (select (select |#memory_int| |check_#in~a.base|) (@diff (select |#memory_int| |check_#in~a.base|) ((as const (Array Int Int)) 0))) 0)} [208] checkENTRY-->L54-3: Formula: (and (= v_check_~i~0_4 0) (= |v_check_#in~a.offset_1| v_check_~a.offset_1) (= v_check_~sum~0_4 0) (= v_check_~a.base_1 |v_check_#in~a.base_1|) (= |v_check_#in~a0.offset_1| v_check_~a0.offset_2) (= v_check_~n_1 |v_check_#in~n_1|) (= v_check_~a0.base_2 |v_check_#in~a0.base_1|)) InVars {check_#in~a.offset=|v_check_#in~a.offset_1|, check_#in~n=|v_check_#in~n_1|, check_#in~a0.base=|v_check_#in~a0.base_1|, check_#in~a.base=|v_check_#in~a.base_1|, check_#in~a0.offset=|v_check_#in~a0.offset_1|} OutVars{check_#in~a.offset=|v_check_#in~a.offset_1|, check_~a.base=v_check_~a.base_1, check_~i~0=v_check_~i~0_4, check_#in~a0.base=|v_check_#in~a0.base_1|, check_#in~a0.offset=|v_check_#in~a0.offset_1|, check_~a0.base=v_check_~a0.base_2, check_~a.offset=v_check_~a.offset_1, check_~sum~0=v_check_~sum~0_4, check_#in~a.base=|v_check_#in~a.base_1|, check_~a0.offset=v_check_~a0.offset_2, check_~n=v_check_~n_1, check_#in~n=|v_check_#in~n_1|} AuxVars[] AssignedVars[check_~a0.base, check_~a.base, check_~a.offset, check_~i~0, check_~sum~0, check_~a0.offset, check_~n] {920#(= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) check_~a.offset)) check_~sum~0)} is VALID [2022-04-27 22:36:58,653 INFO L290 TraceCheckUtils]: 51: Hoare triple {920#(= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) check_~a.offset)) check_~sum~0)} [217] L54-3-->L55: Formula: (and (= |v_check_#t~mem11_3| (select (select |v_#memory_int_12| v_check_~a.base_2) (+ (* v_check_~i~0_7 4) v_check_~a.offset_2))) (< v_check_~i~0_7 v_check_~n_3)) InVars {#memory_int=|v_#memory_int_12|, check_~a.base=v_check_~a.base_2, check_~a.offset=v_check_~a.offset_2, check_~n=v_check_~n_3, check_~i~0=v_check_~i~0_7} OutVars{check_~a.base=v_check_~a.base_2, check_~a.offset=v_check_~a.offset_2, check_~i~0=v_check_~i~0_7, check_#t~mem11=|v_check_#t~mem11_3|, #memory_int=|v_#memory_int_12|, check_~n=v_check_~n_3} AuxVars[] AssignedVars[check_#t~mem11] {921#(= |check_#t~mem11| check_~sum~0)} is VALID [2022-04-27 22:36:58,654 INFO L272 TraceCheckUtils]: 52: Hoare triple {921#(= |check_#t~mem11| check_~sum~0)} [223] L55-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= v_check_~sum~0_5 |v_check_#t~mem11_4|) 1 0)) InVars {check_~sum~0=v_check_~sum~0_5, check_#t~mem11=|v_check_#t~mem11_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, check_~sum~0, check_#t~mem11] {922#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 22:36:58,654 INFO L290 TraceCheckUtils]: 53: Hoare triple {922#(not (= |__VERIFIER_assert_#in~cond| 0))} [226] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {923#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 22:36:58,654 INFO L290 TraceCheckUtils]: 54: Hoare triple {923#(not (= __VERIFIER_assert_~cond 0))} [228] L13-->L13-1: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {883#false} is VALID [2022-04-27 22:36:58,655 INFO L290 TraceCheckUtils]: 55: Hoare triple {883#false} [230] L13-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {883#false} is VALID [2022-04-27 22:36:58,655 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-27 22:36:58,655 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 22:36:58,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2017564283] [2022-04-27 22:36:58,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2017564283] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 22:36:58,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [859256926] [2022-04-27 22:36:58,655 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 22:36:58,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 22:36:58,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 22:36:58,672 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-27 22:36:58,675 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-27 22:36:58,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-27 22:36:58,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 22:36:58,791 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 22:36:58,889 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 5 [2022-04-27 22:36:58,932 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 7 treesize of output 6 [2022-04-27 22:36:59,031 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-27 22:36:59,031 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-27 22:36:59,057 WARN L855 $PredicateComparison]: unable to prove that (exists ((v_ArrVal_51 (Array Int Int))) (= (store |c_old(#memory_int)| |c_#Ultimate.meminit_#ptr.base| v_ArrVal_51) |c_#memory_int|)) is different from true [2022-04-27 22:36:59,075 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 15 [2022-04-27 22:36:59,110 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 15 [2022-04-27 22:36:59,747 WARN L855 $PredicateComparison]: unable to prove that (exists ((downsweep_~n Int) (downsweep_~a.offset Int)) (= (store |c_old(#memory_int)| |c_downsweep_#in~a.base| (store (select |c_old(#memory_int)| |c_downsweep_#in~a.base|) (+ (* downsweep_~n 4) downsweep_~a.offset (- 4)) 0)) |c_#memory_int|)) is different from true [2022-04-27 22:36:59,772 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2022-04-27 22:36:59,895 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 24 treesize of output 18 [2022-04-27 22:36:59,938 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: line 54793 column 92: unknown constant v_arrayElimCell_6 [2022-04-27 22:36:59,938 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 22:36:59,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-27 22:36:59,939 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [298562151] [2022-04-27 22:36:59,939 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 22:36:59,939 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.4285714285714284) internal successors, (34), 12 states have internal predecessors, (34), 5 states have call successors, (11), 5 states have call predecessors, (11), 5 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 56 [2022-04-27 22:36:59,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 22:36:59,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.4285714285714284) internal successors, (34), 12 states have internal predecessors, (34), 5 states have call successors, (11), 5 states have call predecessors, (11), 5 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-27 22:36:59,991 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-27 22:37:00,141 WARN L477 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-27 22:37:00,141 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.IllegalStateException: ManagedScript already locked by de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.MonolithicImplicationChecker@17dc051e at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.lock(ManagedScript.java:82) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.assertCodeBlock(IncrementalHoareTripleChecker.java:360) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.prepareAssertionStackAndAddTransition(IncrementalHoareTripleChecker.java:206) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.checkInternal(IncrementalHoareTripleChecker.java:131) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.checkInductivity(InductivityCheck.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.(InductivityCheck.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.constructInterpolantAutomaton(BasicCegarLoop.java:335) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.constructRefinementAutomaton(AbstractCegarLoop.java:564) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:437) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:409) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:300) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:260) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:152) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-04-27 22:37:00,145 INFO L158 Benchmark]: Toolchain (without parser) took 17789.94ms. Allocated memory was 169.9MB in the beginning and 210.8MB in the end (delta: 40.9MB). Free memory was 112.9MB in the beginning and 114.9MB in the end (delta: -2.1MB). Peak memory consumption was 39.9MB. Max. memory is 8.0GB. [2022-04-27 22:37:00,145 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 169.9MB. Free memory was 129.3MB in the beginning and 129.1MB in the end (delta: 122.4kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 22:37:00,146 INFO L158 Benchmark]: CACSL2BoogieTranslator took 208.84ms. Allocated memory was 169.9MB in the beginning and 210.8MB in the end (delta: 40.9MB). Free memory was 112.7MB in the beginning and 180.6MB in the end (delta: -67.9MB). Peak memory consumption was 9.7MB. Max. memory is 8.0GB. [2022-04-27 22:37:00,146 INFO L158 Benchmark]: Boogie Preprocessor took 27.33ms. Allocated memory is still 210.8MB. Free memory was 180.6MB in the beginning and 178.6MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 22:37:00,146 INFO L158 Benchmark]: RCFGBuilder took 2543.94ms. Allocated memory is still 210.8MB. Free memory was 178.6MB in the beginning and 159.7MB in the end (delta: 18.9MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. [2022-04-27 22:37:00,146 INFO L158 Benchmark]: IcfgTransformer took 75.20ms. Allocated memory is still 210.8MB. Free memory was 159.7MB in the beginning and 157.1MB in the end (delta: 2.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 22:37:00,147 INFO L158 Benchmark]: TraceAbstraction took 14929.31ms. Allocated memory is still 210.8MB. Free memory was 156.6MB in the beginning and 114.9MB in the end (delta: 41.6MB). Peak memory consumption was 42.2MB. Max. memory is 8.0GB. [2022-04-27 22:37:00,148 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 169.9MB. Free memory was 129.3MB in the beginning and 129.1MB in the end (delta: 122.4kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 208.84ms. Allocated memory was 169.9MB in the beginning and 210.8MB in the end (delta: 40.9MB). Free memory was 112.7MB in the beginning and 180.6MB in the end (delta: -67.9MB). Peak memory consumption was 9.7MB. Max. memory is 8.0GB. * Boogie Preprocessor took 27.33ms. Allocated memory is still 210.8MB. Free memory was 180.6MB in the beginning and 178.6MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 2543.94ms. Allocated memory is still 210.8MB. Free memory was 178.6MB in the beginning and 159.7MB in the end (delta: 18.9MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. * IcfgTransformer took 75.20ms. Allocated memory is still 210.8MB. Free memory was 159.7MB in the beginning and 157.1MB in the end (delta: 2.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 14929.31ms. Allocated memory is still 210.8MB. Free memory was 156.6MB in the beginning and 114.9MB in the end (delta: 41.6MB). Peak memory consumption was 42.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: IllegalStateException: ManagedScript already locked by de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.MonolithicImplicationChecker@17dc051e de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: IllegalStateException: ManagedScript already locked by de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.MonolithicImplicationChecker@17dc051e: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.lock(ManagedScript.java:82) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-04-27 22:37:00,172 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 1 Received shutdown request...